[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>
This commit is contained in:
committed by
Jens Axboe
parent
863d5b822c
commit
36695673b0
+35
-27
@@ -165,41 +165,49 @@ struct ext2_group_desc
|
||||
#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
|
||||
|
||||
/*
|
||||
* Inode flags
|
||||
* Inode flags (GETFLAGS/SETFLAGS)
|
||||
*/
|
||||
#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */
|
||||
#define EXT2_UNRM_FL 0x00000002 /* Undelete */
|
||||
#define EXT2_COMPR_FL 0x00000004 /* Compress file */
|
||||
#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */
|
||||
#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */
|
||||
#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */
|
||||
#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */
|
||||
#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */
|
||||
#define EXT2_SECRM_FL FS_SECRM_FL /* Secure deletion */
|
||||
#define EXT2_UNRM_FL FS_UNRM_FL /* Undelete */
|
||||
#define EXT2_COMPR_FL FS_COMPR_FL /* Compress file */
|
||||
#define EXT2_SYNC_FL FS_SYNC_FL /* Synchronous updates */
|
||||
#define EXT2_IMMUTABLE_FL FS_IMMUTABLE_FL /* Immutable file */
|
||||
#define EXT2_APPEND_FL FS_APPEND_FL /* writes to file may only append */
|
||||
#define EXT2_NODUMP_FL FS_NODUMP_FL /* do not dump file */
|
||||
#define EXT2_NOATIME_FL FS_NOATIME_FL /* do not update atime */
|
||||
/* Reserved for compression usage... */
|
||||
#define EXT2_DIRTY_FL 0x00000100
|
||||
#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */
|
||||
#define EXT2_NOCOMP_FL 0x00000400 /* Don't compress */
|
||||
#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */
|
||||
#define EXT2_DIRTY_FL FS_DIRTY_FL
|
||||
#define EXT2_COMPRBLK_FL FS_COMPRBLK_FL /* One or more compressed clusters */
|
||||
#define EXT2_NOCOMP_FL FS_NOCOMP_FL /* Don't compress */
|
||||
#define EXT2_ECOMPR_FL FS_ECOMPR_FL /* Compression error */
|
||||
/* End compression flags --- maybe not all used */
|
||||
#define EXT2_BTREE_FL 0x00001000 /* btree format dir */
|
||||
#define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */
|
||||
#define EXT2_IMAGIC_FL 0x00002000 /* AFS directory */
|
||||
#define EXT2_JOURNAL_DATA_FL 0x00004000 /* Reserved for ext3 */
|
||||
#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */
|
||||
#define EXT2_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
|
||||
#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
|
||||
#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
|
||||
#define EXT2_BTREE_FL FS_BTREE_FL /* btree format dir */
|
||||
#define EXT2_INDEX_FL FS_INDEX_FL /* hash-indexed directory */
|
||||
#define EXT2_IMAGIC_FL FS_IMAGIC_FL /* AFS directory */
|
||||
#define EXT2_JOURNAL_DATA_FL FS_JOURNAL_DATA_FL /* Reserved for ext3 */
|
||||
#define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */
|
||||
#define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */
|
||||
#define EXT2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/
|
||||
#define EXT2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */
|
||||
|
||||
#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
|
||||
#define EXT2_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */
|
||||
#define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */
|
||||
#define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */
|
||||
|
||||
/*
|
||||
* ioctl commands
|
||||
*/
|
||||
#define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
|
||||
#define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
|
||||
#define EXT2_IOC_GETVERSION _IOR('v', 1, long)
|
||||
#define EXT2_IOC_SETVERSION _IOW('v', 2, long)
|
||||
#define EXT2_IOC_GETFLAGS FS_IOC_GETFLAGS
|
||||
#define EXT2_IOC_SETFLAGS FS_IOC_SETFLAGS
|
||||
#define EXT2_IOC_GETVERSION FS_IOC_GETVERSION
|
||||
#define EXT2_IOC_SETVERSION FS_IOC_SETVERSION
|
||||
|
||||
/*
|
||||
* ioctl commands in 32 bit emulation
|
||||
*/
|
||||
#define EXT2_IOC32_GETFLAGS FS_IOC32_GETFLAGS
|
||||
#define EXT2_IOC32_SETFLAGS FS_IOC32_SETFLAGS
|
||||
#define EXT2_IOC32_GETVERSION FS_IOC32_GETVERSION
|
||||
#define EXT2_IOC32_SETVERSION FS_IOC32_SETVERSION
|
||||
|
||||
/*
|
||||
* Structure of an inode on the disk
|
||||
|
||||
+16
-4
@@ -216,20 +216,32 @@ struct ext3_new_group_data {
|
||||
/*
|
||||
* ioctl commands
|
||||
*/
|
||||
#define EXT3_IOC_GETFLAGS _IOR('f', 1, long)
|
||||
#define EXT3_IOC_SETFLAGS _IOW('f', 2, long)
|
||||
#define EXT3_IOC_GETFLAGS FS_IOC_GETFLAGS
|
||||
#define EXT3_IOC_SETFLAGS FS_IOC_SETFLAGS
|
||||
#define EXT3_IOC_GETVERSION _IOR('f', 3, long)
|
||||
#define EXT3_IOC_SETVERSION _IOW('f', 4, long)
|
||||
#define EXT3_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
|
||||
#define EXT3_IOC_GROUP_ADD _IOW('f', 8,struct ext3_new_group_input)
|
||||
#define EXT3_IOC_GETVERSION_OLD _IOR('v', 1, long)
|
||||
#define EXT3_IOC_SETVERSION_OLD _IOW('v', 2, long)
|
||||
#define EXT3_IOC_GETVERSION_OLD FS_IOC_GETVERSION
|
||||
#define EXT3_IOC_SETVERSION_OLD FS_IOC_SETVERSION
|
||||
#ifdef CONFIG_JBD_DEBUG
|
||||
#define EXT3_IOC_WAIT_FOR_READONLY _IOR('f', 99, long)
|
||||
#endif
|
||||
#define EXT3_IOC_GETRSVSZ _IOR('f', 5, long)
|
||||
#define EXT3_IOC_SETRSVSZ _IOW('f', 6, long)
|
||||
|
||||
/*
|
||||
* ioctl commands in 32 bit emulation
|
||||
*/
|
||||
#define EXT3_IOC32_GETVERSION _IOR('f', 3, int)
|
||||
#define EXT3_IOC32_SETVERSION _IOW('f', 4, int)
|
||||
#define EXT3_IOC32_GETRSVSZ _IOR('f', 5, int)
|
||||
#define EXT3_IOC32_SETRSVSZ _IOW('f', 6, int)
|
||||
#define EXT3_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int)
|
||||
#ifdef CONFIG_JBD_DEBUG
|
||||
#define EXT3_IOC32_WAIT_FOR_READONLY _IOR('f', 99, int)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Mount options
|
||||
*/
|
||||
|
||||
@@ -217,6 +217,45 @@ extern int dir_notify_enable;
|
||||
#define FIBMAP _IO(0x00,1) /* bmap access */
|
||||
#define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */
|
||||
|
||||
#define FS_IOC_GETFLAGS _IOR('f', 1, long)
|
||||
#define FS_IOC_SETFLAGS _IOW('f', 2, long)
|
||||
#define FS_IOC_GETVERSION _IOR('v', 1, long)
|
||||
#define FS_IOC_SETVERSION _IOW('v', 2, long)
|
||||
#define FS_IOC32_GETFLAGS _IOR('f', 1, int)
|
||||
#define FS_IOC32_SETFLAGS _IOW('f', 2, int)
|
||||
#define FS_IOC32_GETVERSION _IOR('v', 1, int)
|
||||
#define FS_IOC32_SETVERSION _IOW('v', 2, int)
|
||||
|
||||
/*
|
||||
* Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
|
||||
*/
|
||||
#define FS_SECRM_FL 0x00000001 /* Secure deletion */
|
||||
#define FS_UNRM_FL 0x00000002 /* Undelete */
|
||||
#define FS_COMPR_FL 0x00000004 /* Compress file */
|
||||
#define FS_SYNC_FL 0x00000008 /* Synchronous updates */
|
||||
#define FS_IMMUTABLE_FL 0x00000010 /* Immutable file */
|
||||
#define FS_APPEND_FL 0x00000020 /* writes to file may only append */
|
||||
#define FS_NODUMP_FL 0x00000040 /* do not dump file */
|
||||
#define FS_NOATIME_FL 0x00000080 /* do not update atime */
|
||||
/* Reserved for compression usage... */
|
||||
#define FS_DIRTY_FL 0x00000100
|
||||
#define FS_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */
|
||||
#define FS_NOCOMP_FL 0x00000400 /* Don't compress */
|
||||
#define FS_ECOMPR_FL 0x00000800 /* Compression error */
|
||||
/* End compression flags --- maybe not all used */
|
||||
#define FS_BTREE_FL 0x00001000 /* btree format dir */
|
||||
#define FS_INDEX_FL 0x00001000 /* hash-indexed directory */
|
||||
#define FS_IMAGIC_FL 0x00002000 /* AFS directory */
|
||||
#define FS_JOURNAL_DATA_FL 0x00004000 /* Reserved for ext3 */
|
||||
#define FS_NOTAIL_FL 0x00008000 /* file tail should not be merged */
|
||||
#define FS_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
|
||||
#define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
|
||||
#define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
|
||||
|
||||
#define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
|
||||
#define FS_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */
|
||||
|
||||
|
||||
#define SYNC_FILE_RANGE_WAIT_BEFORE 1
|
||||
#define SYNC_FILE_RANGE_WRITE 2
|
||||
#define SYNC_FILE_RANGE_WAIT_AFTER 4
|
||||
|
||||
+13
-15
@@ -807,21 +807,19 @@ struct stat_data_v1 {
|
||||
#define set_sd_v1_first_direct_byte(sdp,v) \
|
||||
((sdp)->sd_first_direct_byte = cpu_to_le32(v))
|
||||
|
||||
#include <linux/ext2_fs.h>
|
||||
|
||||
/* inode flags stored in sd_attrs (nee sd_reserved) */
|
||||
|
||||
/* we want common flags to have the same values as in ext2,
|
||||
so chattr(1) will work without problems */
|
||||
#define REISERFS_IMMUTABLE_FL EXT2_IMMUTABLE_FL
|
||||
#define REISERFS_APPEND_FL EXT2_APPEND_FL
|
||||
#define REISERFS_SYNC_FL EXT2_SYNC_FL
|
||||
#define REISERFS_NOATIME_FL EXT2_NOATIME_FL
|
||||
#define REISERFS_NODUMP_FL EXT2_NODUMP_FL
|
||||
#define REISERFS_SECRM_FL EXT2_SECRM_FL
|
||||
#define REISERFS_UNRM_FL EXT2_UNRM_FL
|
||||
#define REISERFS_COMPR_FL EXT2_COMPR_FL
|
||||
#define REISERFS_NOTAIL_FL EXT2_NOTAIL_FL
|
||||
#define REISERFS_IMMUTABLE_FL FS_IMMUTABLE_FL
|
||||
#define REISERFS_APPEND_FL FS_APPEND_FL
|
||||
#define REISERFS_SYNC_FL FS_SYNC_FL
|
||||
#define REISERFS_NOATIME_FL FS_NOATIME_FL
|
||||
#define REISERFS_NODUMP_FL FS_NODUMP_FL
|
||||
#define REISERFS_SECRM_FL FS_SECRM_FL
|
||||
#define REISERFS_UNRM_FL FS_UNRM_FL
|
||||
#define REISERFS_COMPR_FL FS_COMPR_FL
|
||||
#define REISERFS_NOTAIL_FL FS_NOTAIL_FL
|
||||
|
||||
/* persistent flags that file inherits from the parent directory */
|
||||
#define REISERFS_INHERIT_MASK ( REISERFS_IMMUTABLE_FL | \
|
||||
@@ -2168,10 +2166,10 @@ int reiserfs_ioctl(struct inode *inode, struct file *filp,
|
||||
#define REISERFS_IOC_UNPACK _IOW(0xCD,1,long)
|
||||
/* define following flags to be the same as in ext2, so that chattr(1),
|
||||
lsattr(1) will work with us. */
|
||||
#define REISERFS_IOC_GETFLAGS EXT2_IOC_GETFLAGS
|
||||
#define REISERFS_IOC_SETFLAGS EXT2_IOC_SETFLAGS
|
||||
#define REISERFS_IOC_GETVERSION EXT2_IOC_GETVERSION
|
||||
#define REISERFS_IOC_SETVERSION EXT2_IOC_SETVERSION
|
||||
#define REISERFS_IOC_GETFLAGS FS_IOC_GETFLAGS
|
||||
#define REISERFS_IOC_SETFLAGS FS_IOC_SETFLAGS
|
||||
#define REISERFS_IOC_GETVERSION FS_IOC_GETVERSION
|
||||
#define REISERFS_IOC_SETVERSION FS_IOC_SETVERSION
|
||||
|
||||
/* Locking primitives */
|
||||
/* Right now we are still falling back to (un)lock_kernel, but eventually that
|
||||
|
||||
Reference in New Issue
Block a user