On Wed, Jul 15, 2015 at 02:46:51PM +0200, Jan Tulak wrote:
> OS X has some conflicting LIST_ macros, so prefix the XFS ones.
What are the macros that conflict and where do they come from?
> --- a/include/irix.h
> +++ b/include/irix.h
> @@ -230,7 +230,7 @@ static __inline__ int xfsctl(const char *path, int fd,
> int cmd, void *arg)
> ((xfs_fsop_handlereq_t*)arg)->ihandlen,
> ((xfs_fsop_handlereq_t*)arg)->ohandle,
> ((xfs_fsop_handlereq_t*)arg)->ohandlen);
> - case SGI_ATTR_LIST_BY_HANDLE:
> + case SGI_ATTR_XFS_LIST_BY_HANDLE:
This is wrong - that's an Irix ioctl name and should not be renamed.
It won' compile on Irix with this change...
> diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h
> index 89689c6..8c37e08 100644
> --- a/libxfs/xfs_fs.h
> +++ b/libxfs/xfs_fs.h
> @@ -403,7 +403,7 @@ typedef struct xfs_fsop_handlereq {
> /*
> * Compound structures for passing args through Handle Request interfaces
> * xfs_fssetdm_by_handle, xfs_attrlist_by_handle, xfs_attrmulti_by_handle
> - * - ioctls: XFS_IOC_FSSETDM_BY_HANDLE, XFS_IOC_ATTRLIST_BY_HANDLE, and
> + * - ioctls: XFS_IOC_FSSETDM_BY_HANDLE, XFS_IOC_ATTRXFS_LIST_BY_HANDLE, and
> * XFS_IOC_ATTRMULTI_BY_HANDLE
> */
>
> @@ -553,7 +553,7 @@ typedef struct xfs_swapext
> #endif
>
> #define XFS_IOC_FSSETDM_BY_HANDLE _IOW ('X', 121, struct
> xfs_fsop_setdm_handlereq)
> -#define XFS_IOC_ATTRLIST_BY_HANDLE _IOW ('X', 122, struct
> xfs_fsop_attrlist_handlereq)
> +#define XFS_IOC_ATTRXFS_LIST_BY_HANDLE _IOW ('X', 122, struct
> xfs_fsop_attrlist_handlereq)
> #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct
> xfs_fsop_attrmulti_handlereq)
> #define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom)
> #define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t)
Renaming Linux ioctls is wrong, too, as that will break all source
code outside xfsprogs that uses this ioctl.
Cheers,
Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
|