SysTutorials Forums QA File system Inode flags: difference between FS_IOC_GETFLAGS and FS_IOC_FSGETXATT

Tagged: 

What is the difference between FS_IOC_GETFLAGS and FS_IOC_FSGETXATTR ioctl commands? What flags do both return?

The comment in fs.h is clear enough to explain itself. In short, FS_IOC_GETFLAGS was for ext2/ext3 only, and FS_IOC_FSGETXATTR is a generic FS level interface.

Full comment as follows for your reference (source):

/*
* Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
*
* Note: for historical reasons, these flags were originally used and
* defined for use by ext2/ext3, and then other file systems started
* using these flags so they wouldn’t need to write their own version
* of chattr/lsattr (which was shipped as part of e2fsprogs). You
* should think twice before trying to use these flags in new
* contexts, or trying to assign these flags, since they are used both
* as the UAPI and the on-disk encoding for ext2/3/4. Also, we are
* almost out of 32-bit flags. :-)
*
* We have recently hoisted FS_IOC_FSGETXATTR / FS_IOC_FSSETXATTR from
* XFS to the generic FS level interface. This uses a structure that
* has padding and hence has more room to grow, so it may be more
* appropriate for many new use cases.
*/

Reply To: File system Inode flags: difference between FS_IOC_GETFLAGS and FS_IOC_FSGETXATT
Your information:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre> <em> <strong> <del datetime=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">

Please share if you like this post: