On Mon, Dec 12, 2011 at 09:59:49AM +0800, Tao Ma wrote: > From: Tao Ma <boyu.mt@xxxxxxxxxx> > > In order to make atomic set/get of inode flags, we create a enum of > different inode flags. Now when we add a new inode flag(e.g inline data), > we have to add both the 'enum' and the 'define' and calculate the value > of 'define' by ourselves. This is a bit boring and error-prune. > So this patch just unify these 2 fields. This was deliberate. The problem is these flags also have to be in sync with the hex values defined in include/linux/fs.h (and in some other file systems' header files), not to mention the definitions in e2fsprogs. This is because the lsattr and chattr command was originally defined originally for ext2/3, but then other file systems (reiserfs, xfs, btrfs, etc) decided they would also use the same ioctls and userspace commands. So we have partial overlap of these flags, and when we define new flags we have to be a little careful to make sure we coordinate between all of the places where these flags are defined. So the fact that this is also an ABI is why I don't want to use an enum and to calculate the values from that. - Ted -- 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