I was just looking at the FS_*_FL flags in a recent linux/fs.h, and I see that there is now a FS_DIRECTIO_FL defined as 0x100000. This does not originate from ext* or e2fsprogs, and could result in a conflict with a future ext* flag allocation without some attention (at least defining it in e2fsprogs, along with EXT4_HUGE_FILE_FL 0x40000 which hasn't made it into e2fsprogs yet either). There are a few things that worry me here: - The migration of the EXT*_FL flags from ext*.h into fs.h has hidden the fact that these flags define the on-disk format of ext* inodes. There is no comment that these flags even need to remain constant, and being part of an ioctl() interface makes this less likely to change than an internal constant, but it doesn't have the permanence of an on-disk (forever) constant. - Since these values have been usurped from ext* into the VFS, we need to add a translation function in ext*_ioctl() to convert from the ioctl parameter into ext* values. There is no guarantee that these mappings will remain identical. - The ext2 code was changed to use the FS_*_FL values, but not ext3 and ext4. - The inode attribute flag is only a 32-bit value, and if these flags are shared among all filesystems it could lead to exhaustion of the flags before we would have wanted for ext* or the VFS. Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html