diff options
| author | David Howells <dhowells@redhat.com> | 2006-08-29 14:06:16 -0400 |
|---|---|---|
| committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-09-30 14:52:28 -0400 |
| commit | 36695673b012096228ebdc1b39a6a5850daa474e (patch) | |
| tree | 4b617e27256750f367b2b50653981c70db0ce2d0 /include/linux | |
| parent | 863d5b822c02d0e7215fb84ca79e9f8c3e35f04e (diff) | |
[PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6]
Move common FS-specific ioctls from linux/ext2_fs.h to linux/fs.h as FS_IOC_*
and FS_IOC32_* and have the users of them use those as a base.
Also move the GETFLAGS/SETFLAGS flags to linux/fs.h as FS_*_FL macros, and then
have the other users use them as a base.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ext2_fs.h | 64 | ||||
| -rw-r--r-- | include/linux/ext3_fs.h | 20 | ||||
| -rw-r--r-- | include/linux/fs.h | 39 | ||||
| -rw-r--r-- | include/linux/reiserfs_fs.h | 28 |
4 files changed, 104 insertions, 47 deletions
diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h index 33a1aa107329..153d755376a4 100644 --- a/include/linux/ext2_fs.h +++ b/include/linux/ext2_fs.h | |||
| @@ -165,41 +165,49 @@ struct ext2_group_desc | |||
| 165 | #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) | 165 | #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) |
| 166 | 166 | ||
| 167 | /* | 167 | /* |
| 168 | * Inode flags | 168 | * Inode flags (GETFLAGS/SETFLAGS) |
| 169 | */ | 169 | */ |
| 170 | #define EXT2_SECRM_FL 0x00000001 /* Secure deletion */ | 170 | #define EXT2_SECRM_FL FS_SECRM_FL /* Secure deletion */ |
| 171 | #define EXT2_UNRM_FL 0x00000002 /* Undelete */ | 171 | #define EXT2_UNRM_FL FS_UNRM_FL /* Undelete */ |
| 172 | #define EXT2_COMPR_FL 0x00000004 /* Compress file */ | 172 | #define EXT2_COMPR_FL FS_COMPR_FL /* Compress file */ |
| 173 | #define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */ | 173 | #define EXT2_SYNC_FL FS_SYNC_FL /* Synchronous updates */ |
| 174 | #define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */ | 174 | #define EXT2_IMMUTABLE_FL FS_IMMUTABLE_FL /* Immutable file */ |
| 175 | #define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */ | 175 | #define EXT2_APPEND_FL FS_APPEND_FL /* writes to file may only append */ |
| 176 | #define EXT2_NODUMP_FL 0x00000040 /* do not dump file */ | 176 | #define EXT2_NODUMP_FL FS_NODUMP_FL /* do not dump file */ |
| 177 | #define EXT2_NOATIME_FL 0x00000080 /* do not update atime */ | 177 | #define EXT2_NOATIME_FL FS_NOATIME_FL /* do not update atime */ |
| 178 | /* Reserved for compression usage... */ | 178 | /* Reserved for compression usage... */ |
| 179 | #define EXT2_DIRTY_FL 0x00000100 | 179 | #define EXT2_DIRTY_FL FS_DIRTY_FL |
| 180 | #define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */ | 180 | #define EXT2_COMPRBLK_FL FS_COMPRBLK_FL /* One or more compressed clusters */ |
| 181 | #define EXT2_NOCOMP_FL 0x00000400 /* Don't compress */ | 181 | #define EXT2_NOCOMP_FL FS_NOCOMP_FL /* Don't compress */ |
| 182 | #define EXT2_ECOMPR_FL 0x00000800 /* Compression error */ | 182 | #define EXT2_ECOMPR_FL FS_ECOMPR_FL /* Compression error */ |
| 183 | /* End compression flags --- maybe not all used */ | 183 | /* End compression flags --- maybe not all used */ |
| 184 | #define EXT2_BTREE_FL 0x00001000 /* btree format dir */ | 184 | #define EXT2_BTREE_FL FS_BTREE_FL /* btree format dir */ |
| 185 | #define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */ | 185 | #define EXT2_INDEX_FL FS_INDEX_FL /* hash-indexed directory */ |
| 186 | #define EXT2_IMAGIC_FL 0x00002000 /* AFS directory */ | 186 | #define EXT2_IMAGIC_FL FS_IMAGIC_FL /* AFS directory */ |
| 187 | #define EXT2_JOURNAL_DATA_FL 0x00004000 /* Reserved for ext3 */ | 187 | #define EXT2_JOURNAL_DATA_FL FS_JOURNAL_DATA_FL /* Reserved for ext3 */ |
| 188 | #define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */ | 188 | #define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ |
| 189 | #define EXT2_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */ | 189 | #define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ |
| 190 | #define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ | 190 | #define EXT2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ |
| 191 | #define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ | 191 | #define EXT2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ |
| 192 | 192 | ||
| 193 | #define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ | 193 | #define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ |
| 194 | #define EXT2_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */ | 194 | #define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ |
| 195 | 195 | ||
| 196 | /* | 196 | /* |
| 197 | * ioctl commands | 197 | * ioctl commands |
| 198 | */ | 198 | */ |
| 199 | #define EXT2_IOC_GETFLAGS _IOR('f', 1, long) | 199 | #define EXT2_IOC_GETFLAGS FS_IOC_GETFLAGS |
| 200 | #define EXT2_IOC_SETFLAGS _IOW('f', 2, long) | 200 | #define EXT2_IOC_SETFLAGS FS_IOC_SETFLAGS |
| 201 | #define EXT2_IOC_GETVERSION _IOR('v', 1, long) | 201 | #define EXT2_IOC_GETVERSION FS_IOC_GETVERSION |
| 202 | #define EXT2_IOC_SETVERSION _IOW('v', 2, long) | 202 | #define EXT2_IOC_SETVERSION FS_IOC_SETVERSION |
| 203 | |||
| 204 | /* | ||
| 205 | * ioctl commands in 32 bit emulation | ||
| 206 | */ | ||
| 207 | #define EXT2_IOC32_GETFLAGS FS_IOC32_GETFLAGS | ||
| 208 | #define EXT2_IOC32_SETFLAGS FS_IOC32_SETFLAGS | ||
| 209 | #define EXT2_IOC32_GETVERSION FS_IOC32_GETVERSION | ||
| 210 | #define EXT2_IOC32_SETVERSION FS_IOC32_SETVERSION | ||
| 203 | 211 | ||
| 204 | /* | 212 | /* |
| 205 | * Structure of an inode on the disk | 213 | * Structure of an inode on the disk |
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h index cc08f56750da..a7a01ff44669 100644 --- a/include/linux/ext3_fs.h +++ b/include/linux/ext3_fs.h | |||
| @@ -216,14 +216,14 @@ struct ext3_new_group_data { | |||
| 216 | /* | 216 | /* |
| 217 | * ioctl commands | 217 | * ioctl commands |
| 218 | */ | 218 | */ |
| 219 | #define EXT3_IOC_GETFLAGS _IOR('f', 1, long) | 219 | #define EXT3_IOC_GETFLAGS FS_IOC_GETFLAGS |
| 220 | #define EXT3_IOC_SETFLAGS _IOW('f', 2, long) | 220 | #define EXT3_IOC_SETFLAGS FS_IOC_SETFLAGS |
| 221 | #define EXT3_IOC_GETVERSION _IOR('f', 3, long) | 221 | #define EXT3_IOC_GETVERSION _IOR('f', 3, long) |
| 222 | #define EXT3_IOC_SETVERSION _IOW('f', 4, long) | 222 | #define EXT3_IOC_SETVERSION _IOW('f', 4, long) |
| 223 | #define EXT3_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long) | 223 | #define EXT3_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long) |
| 224 | #define EXT3_IOC_GROUP_ADD _IOW('f', 8,struct ext3_new_group_input) | 224 | #define EXT3_IOC_GROUP_ADD _IOW('f', 8,struct ext3_new_group_input) |
| 225 | #define EXT3_IOC_GETVERSION_OLD _IOR('v', 1, long) | 225 | #define EXT3_IOC_GETVERSION_OLD FS_IOC_GETVERSION |
| 226 | #define EXT3_IOC_SETVERSION_OLD _IOW('v', 2, long) | 226 | #define EXT3_IOC_SETVERSION_OLD FS_IOC_SETVERSION |
| 227 | #ifdef CONFIG_JBD_DEBUG | 227 | #ifdef CONFIG_JBD_DEBUG |
| 228 | #define EXT3_IOC_WAIT_FOR_READONLY _IOR('f', 99, long) | 228 | #define EXT3_IOC_WAIT_FOR_READONLY _IOR('f', 99, long) |
| 229 | #endif | 229 | #endif |
| @@ -231,6 +231,18 @@ struct ext3_new_group_data { | |||
| 231 | #define EXT3_IOC_SETRSVSZ _IOW('f', 6, long) | 231 | #define EXT3_IOC_SETRSVSZ _IOW('f', 6, long) |
| 232 | 232 | ||
| 233 | /* | 233 | /* |
| 234 | * ioctl commands in 32 bit emulation | ||
| 235 | */ | ||
| 236 | #define EXT3_IOC32_GETVERSION _IOR('f', 3, int) | ||
| 237 | #define EXT3_IOC32_SETVERSION _IOW('f', 4, int) | ||
| 238 | #define EXT3_IOC32_GETRSVSZ _IOR('f', 5, int) | ||
| 239 | #define EXT3_IOC32_SETRSVSZ _IOW('f', 6, int) | ||
| 240 | #define EXT3_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int) | ||
| 241 | #ifdef CONFIG_JBD_DEBUG | ||
| 242 | #define EXT3_IOC32_WAIT_FOR_READONLY _IOR('f', 99, int) | ||
| 243 | #endif | ||
| 244 | |||
| 245 | /* | ||
| 234 | * Mount options | 246 | * Mount options |
| 235 | */ | 247 | */ |
| 236 | struct ext3_mount_options { | 248 | struct ext3_mount_options { |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 1728142ec4b6..b73a47582dbe 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -217,6 +217,45 @@ extern int dir_notify_enable; | |||
| 217 | #define FIBMAP _IO(0x00,1) /* bmap access */ | 217 | #define FIBMAP _IO(0x00,1) /* bmap access */ |
| 218 | #define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */ | 218 | #define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */ |
| 219 | 219 | ||
| 220 | #define FS_IOC_GETFLAGS _IOR('f', 1, long) | ||
| 221 | #define FS_IOC_SETFLAGS _IOW('f', 2, long) | ||
| 222 | #define FS_IOC_GETVERSION _IOR('v', 1, long) | ||
| 223 | #define FS_IOC_SETVERSION _IOW('v', 2, long) | ||
| 224 | #define FS_IOC32_GETFLAGS _IOR('f', 1, int) | ||
| 225 | #define FS_IOC32_SETFLAGS _IOW('f', 2, int) | ||
| 226 | #define FS_IOC32_GETVERSION _IOR('v', 1, int) | ||
| 227 | #define FS_IOC32_SETVERSION _IOW('v', 2, int) | ||
| 228 | |||
| 229 | /* | ||
| 230 | * Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS) | ||
| 231 | */ | ||
| 232 | #define FS_SECRM_FL 0x00000001 /* Secure deletion */ | ||
| 233 | #define FS_UNRM_FL 0x00000002 /* Undelete */ | ||
| 234 | #define FS_COMPR_FL 0x00000004 /* Compress file */ | ||
| 235 | #define FS_SYNC_FL 0x00000008 /* Synchronous updates */ | ||
| 236 | #define FS_IMMUTABLE_FL 0x00000010 /* Immutable file */ | ||
| 237 | #define FS_APPEND_FL 0x00000020 /* writes to file may only append */ | ||
| 238 | #define FS_NODUMP_FL 0x00000040 /* do not dump file */ | ||
| 239 | #define FS_NOATIME_FL 0x00000080 /* do not update atime */ | ||
| 240 | /* Reserved for compression usage... */ | ||
| 241 | #define FS_DIRTY_FL 0x00000100 | ||
| 242 | #define FS_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */ | ||
| 243 | #define FS_NOCOMP_FL 0x00000400 /* Don't compress */ | ||
| 244 | #define FS_ECOMPR_FL 0x00000800 /* Compression error */ | ||
| 245 | /* End compression flags --- maybe not all used */ | ||
| 246 | #define FS_BTREE_FL 0x00001000 /* btree format dir */ | ||
| 247 | #define FS_INDEX_FL 0x00001000 /* hash-indexed directory */ | ||
| 248 | #define FS_IMAGIC_FL 0x00002000 /* AFS directory */ | ||
| 249 | #define FS_JOURNAL_DATA_FL 0x00004000 /* Reserved for ext3 */ | ||
| 250 | #define FS_NOTAIL_FL 0x00008000 /* file tail should not be merged */ | ||
| 251 | #define FS_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */ | ||
| 252 | #define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ | ||
| 253 | #define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ | ||
| 254 | |||
| 255 | #define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ | ||
| 256 | #define FS_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */ | ||
| 257 | |||
| 258 | |||
| 220 | #define SYNC_FILE_RANGE_WAIT_BEFORE 1 | 259 | #define SYNC_FILE_RANGE_WAIT_BEFORE 1 |
| 221 | #define SYNC_FILE_RANGE_WRITE 2 | 260 | #define SYNC_FILE_RANGE_WRITE 2 |
| 222 | #define SYNC_FILE_RANGE_WAIT_AFTER 4 | 261 | #define SYNC_FILE_RANGE_WAIT_AFTER 4 |
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index 28493ffaafe7..0100d6d1d84c 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
| @@ -807,21 +807,19 @@ struct stat_data_v1 { | |||
| 807 | #define set_sd_v1_first_direct_byte(sdp,v) \ | 807 | #define set_sd_v1_first_direct_byte(sdp,v) \ |
| 808 | ((sdp)->sd_first_direct_byte = cpu_to_le32(v)) | 808 | ((sdp)->sd_first_direct_byte = cpu_to_le32(v)) |
| 809 | 809 | ||
| 810 | #include <linux/ext2_fs.h> | ||
| 811 | |||
| 812 | /* inode flags stored in sd_attrs (nee sd_reserved) */ | 810 | /* inode flags stored in sd_attrs (nee sd_reserved) */ |
| 813 | 811 | ||
| 814 | /* we want common flags to have the same values as in ext2, | 812 | /* we want common flags to have the same values as in ext2, |
| 815 | so chattr(1) will work without problems */ | 813 | so chattr(1) will work without problems */ |
| 816 | #define REISERFS_IMMUTABLE_FL EXT2_IMMUTABLE_FL | 814 | #define REISERFS_IMMUTABLE_FL FS_IMMUTABLE_FL |
| 817 | #define REISERFS_APPEND_FL EXT2_APPEND_FL | 815 | #define REISERFS_APPEND_FL FS_APPEND_FL |
| 818 | #define REISERFS_SYNC_FL EXT2_SYNC_FL | 816 | #define REISERFS_SYNC_FL FS_SYNC_FL |
| 819 | #define REISERFS_NOATIME_FL EXT2_NOATIME_FL | 817 | #define REISERFS_NOATIME_FL FS_NOATIME_FL |
| 820 | #define REISERFS_NODUMP_FL EXT2_NODUMP_FL | 818 | #define REISERFS_NODUMP_FL FS_NODUMP_FL |
| 821 | #define REISERFS_SECRM_FL EXT2_SECRM_FL | 819 | #define REISERFS_SECRM_FL FS_SECRM_FL |
| 822 | #define REISERFS_UNRM_FL EXT2_UNRM_FL | 820 | #define REISERFS_UNRM_FL FS_UNRM_FL |
| 823 | #define REISERFS_COMPR_FL EXT2_COMPR_FL | 821 | #define REISERFS_COMPR_FL FS_COMPR_FL |
| 824 | #define REISERFS_NOTAIL_FL EXT2_NOTAIL_FL | 822 | #define REISERFS_NOTAIL_FL FS_NOTAIL_FL |
| 825 | 823 | ||
| 826 | /* persistent flags that file inherits from the parent directory */ | 824 | /* persistent flags that file inherits from the parent directory */ |
| 827 | #define REISERFS_INHERIT_MASK ( REISERFS_IMMUTABLE_FL | \ | 825 | #define REISERFS_INHERIT_MASK ( REISERFS_IMMUTABLE_FL | \ |
| @@ -2168,10 +2166,10 @@ int reiserfs_ioctl(struct inode *inode, struct file *filp, | |||
| 2168 | #define REISERFS_IOC_UNPACK _IOW(0xCD,1,long) | 2166 | #define REISERFS_IOC_UNPACK _IOW(0xCD,1,long) |
| 2169 | /* define following flags to be the same as in ext2, so that chattr(1), | 2167 | /* define following flags to be the same as in ext2, so that chattr(1), |
| 2170 | lsattr(1) will work with us. */ | 2168 | lsattr(1) will work with us. */ |
| 2171 | #define REISERFS_IOC_GETFLAGS EXT2_IOC_GETFLAGS | 2169 | #define REISERFS_IOC_GETFLAGS FS_IOC_GETFLAGS |
| 2172 | #define REISERFS_IOC_SETFLAGS EXT2_IOC_SETFLAGS | 2170 | #define REISERFS_IOC_SETFLAGS FS_IOC_SETFLAGS |
| 2173 | #define REISERFS_IOC_GETVERSION EXT2_IOC_GETVERSION | 2171 | #define REISERFS_IOC_GETVERSION FS_IOC_GETVERSION |
| 2174 | #define REISERFS_IOC_SETVERSION EXT2_IOC_SETVERSION | 2172 | #define REISERFS_IOC_SETVERSION FS_IOC_SETVERSION |
| 2175 | 2173 | ||
| 2176 | /* Locking primitives */ | 2174 | /* Locking primitives */ |
| 2177 | /* Right now we are still falling back to (un)lock_kernel, but eventually that | 2175 | /* Right now we are still falling back to (un)lock_kernel, but eventually that |
