On Nov 12, 2013, at 10:35 AM, David Howells <dhowells@xxxxxxxxxx> wrote: > Provide IOC flags for Windows fs attributes so that they can be retrieved (or > even altered) using the FS_IOC_[GS]ETFLAGS ioctl and read using statxat(). > > Signed-off-by: David Howells <dhowells@xxxxxxxxxx> > --- > > include/uapi/linux/fs.h | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h > index 6c28b61bb690..8b966f48dd41 100644 > --- a/include/uapi/linux/fs.h > +++ b/include/uapi/linux/fs.h > @@ -191,10 +191,13 @@ struct inodes_stat_t { > #define FS_EXTENT_FL 0x00080000 /* Extents */ > #define FS_DIRECTIO_FL 0x00100000 /* Use direct i/o */ > #define FS_NOCOW_FL 0x00800000 /* Do not cow file */ > +#define FS_HIDDEN_FL 0x10000000 /* Windows hidden file attribute */ The 0x10000000 flag is used by ext4 as EXT4_INLINE_DATA_FL. This would basically fill up all of the inode flags for ext2/3/4, and while there isn’t a guarantee that there will not be any conflicts between FS_*_FL and EXT4_*_FL, it is a lot easier if they are the same. One option is to move FS_HIDDEN_FL over to use 0x04000000, which is currently used as EXT4_SNAPFILE_DELETED_FL, but that is IMHO an ext4-internal flag that it isn’t in common use anywhere, and isn’t so bad to have a conflict with. Ted, any thoughts on this? Cheers, Andreas > +#define FS_SYSTEM_FL 0x20000000 /* Windows system file attribute */ > +#define FS_ARCHIVE_FL 0x40000000 /* Windows archive file attribute */ > #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 FS_FL_USER_VISIBLE 0x7003DFFF /* User visible flags */ > +#define FS_FL_USER_MODIFIABLE 0x700380FF /* User modifiable flags */ > > > #define SYNC_FILE_RANGE_WAIT_BEFORE 1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html Cheers, Andreas
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail