xfs: add an x86 compat handler for XFS_IOC_ZERO_RANGE
authorChristoph Hellwig <hch@infradead.org>
Thu, 21 Apr 2011 13:21:03 +0000 (13:21 +0000)
committerAlex Elder <aelder@sgi.com>
Thu, 28 Apr 2011 18:27:46 +0000 (13:27 -0500)
XFS_IOC_ZERO_RANGE uses struct xfs_flock64, and thus requires argument
translation for 32-bit binaries on x86.  Add the required
XFS_IOC_ZERO_RANGE_32 defined and add it to the list of commands that
require xfs_flock64 translation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
fs/xfs/linux-2.6/xfs_ioctl32.c
fs/xfs/linux-2.6/xfs_ioctl32.h

index b3486df..54e623b 100644 (file)
@@ -586,7 +586,8 @@ xfs_file_compat_ioctl(
        case XFS_IOC_RESVSP_32:
        case XFS_IOC_UNRESVSP_32:
        case XFS_IOC_RESVSP64_32:
-       case XFS_IOC_UNRESVSP64_32: {
+       case XFS_IOC_UNRESVSP64_32:
+       case XFS_IOC_ZERO_RANGE_32: {
                struct xfs_flock64      bf;
 
                if (xfs_compat_flock64_copyin(&bf, arg))
index 08b6057..80f4060 100644 (file)
@@ -184,6 +184,7 @@ typedef struct compat_xfs_flock64 {
 #define XFS_IOC_UNRESVSP_32    _IOW('X', 41, struct compat_xfs_flock64)
 #define XFS_IOC_RESVSP64_32    _IOW('X', 42, struct compat_xfs_flock64)
 #define XFS_IOC_UNRESVSP64_32  _IOW('X', 43, struct compat_xfs_flock64)
+#define XFS_IOC_ZERO_RANGE_32  _IOW('X', 57, struct compat_xfs_flock64)
 
 typedef struct compat_xfs_fsop_geom_v1 {
        __u32           blocksize;      /* filesystem (data) block size */