diff options
author | sandeen@sandeen.net <sandeen@sandeen.net> | 2008-11-25 22:20:11 -0500 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-12-02 01:15:36 -0500 |
commit | 2ee4fa5cb716eba104a4ef8efe159e1007a2aef6 (patch) | |
tree | 943c9966c8daa913dff42216bcdc1cc4c1c835da /fs/xfs/xfs_itable.h | |
parent | 471d59103167c84f17b9bcfee22ed10b44ff206e (diff) |
[XFS] Make the bulkstat_one compat ioctl handling more sane
Currently the compat formatter was handled by passing
in "private_data" for the xfs_bulkstat_one formatter,
which was really just another formatter... IMHO this
got confusing.
Instead, just make a new xfs_bulkstat_one_compat
formatter for xfs_bulkstat, and call it via a wrapper.
Also, don't translate the ioctl nrs into their native
counterparts, that just clouds the issue; we're in a
compat handler anyway, just switch on the 32-bit cmds.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_itable.h')
-rw-r--r-- | fs/xfs/xfs_itable.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/xfs/xfs_itable.h b/fs/xfs/xfs_itable.h index a1f18fce9b70..e210a4c06569 100644 --- a/fs/xfs/xfs_itable.h +++ b/fs/xfs/xfs_itable.h | |||
@@ -74,6 +74,18 @@ typedef int (*bulkstat_one_fmt_pf)( /* used size in bytes or negative error */ | |||
74 | const xfs_bstat_t *buffer); /* buffer to read from */ | 74 | const xfs_bstat_t *buffer); /* buffer to read from */ |
75 | 75 | ||
76 | int | 76 | int |
77 | xfs_bulkstat_one_int( | ||
78 | xfs_mount_t *mp, | ||
79 | xfs_ino_t ino, | ||
80 | void __user *buffer, | ||
81 | int ubsize, | ||
82 | bulkstat_one_fmt_pf formatter, | ||
83 | xfs_daddr_t bno, | ||
84 | int *ubused, | ||
85 | void *dibuff, | ||
86 | int *stat); | ||
87 | |||
88 | int | ||
77 | xfs_bulkstat_one( | 89 | xfs_bulkstat_one( |
78 | xfs_mount_t *mp, | 90 | xfs_mount_t *mp, |
79 | xfs_ino_t ino, | 91 | xfs_ino_t ino, |