ext4: don't hardcode bit values in EXT4_FL_USER_*
authorEric Biggers <ebiggers@google.com>
Mon, 13 Jul 2020 03:10:12 +0000 (20:10 -0700)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 6 Aug 2020 05:17:25 +0000 (01:17 -0400)
Define the EXT4_FL_USER_* constants by OR-ing together the appropriate
flags, rather than hard-coding a numeric value.  This makes it much
easier to see which flags are listed.

No change in the actual values.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20200713031012.192440-1-ebiggers@kernel.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h

index 42f5060..b603a28 100644 (file)
@@ -434,8 +434,34 @@ struct flex_groups {
 #define EXT4_CASEFOLD_FL               0x40000000 /* Casefolded directory */
 #define EXT4_RESERVED_FL               0x80000000 /* reserved for ext4 lib */
 
-#define EXT4_FL_USER_VISIBLE           0x725BDFFF /* User visible flags */
-#define EXT4_FL_USER_MODIFIABLE                0x624BC0FF /* User modifiable flags */
+/* User modifiable flags */
+#define EXT4_FL_USER_MODIFIABLE                (EXT4_SECRM_FL | \
+                                        EXT4_UNRM_FL | \
+                                        EXT4_COMPR_FL | \
+                                        EXT4_SYNC_FL | \
+                                        EXT4_IMMUTABLE_FL | \
+                                        EXT4_APPEND_FL | \
+                                        EXT4_NODUMP_FL | \
+                                        EXT4_NOATIME_FL | \
+                                        EXT4_JOURNAL_DATA_FL | \
+                                        EXT4_NOTAIL_FL | \
+                                        EXT4_DIRSYNC_FL | \
+                                        EXT4_TOPDIR_FL | \
+                                        EXT4_EXTENTS_FL | \
+                                        0x00400000 /* EXT4_EOFBLOCKS_FL */ | \
+                                        EXT4_DAX_FL | \
+                                        EXT4_PROJINHERIT_FL | \
+                                        EXT4_CASEFOLD_FL)
+
+/* User visible flags */
+#define EXT4_FL_USER_VISIBLE           (EXT4_FL_USER_MODIFIABLE | \
+                                        EXT4_DIRTY_FL | \
+                                        EXT4_COMPRBLK_FL | \
+                                        EXT4_NOCOMPR_FL | \
+                                        EXT4_ENCRYPT_FL | \
+                                        EXT4_INDEX_FL | \
+                                        EXT4_VERITY_FL | \
+                                        EXT4_INLINE_DATA_FL)
 
 /* Flags we can manipulate with through EXT4_IOC_FSSETXATTR */
 #define EXT4_FL_XFLAG_VISIBLE          (EXT4_SYNC_FL | \