VFS: repack DENTRY_ flags.
authorNeilBrown <neilb@suse.de>
Thu, 6 Feb 2025 05:42:43 +0000 (16:42 +1100)
committerChristian Brauner <brauner@kernel.org>
Mon, 10 Feb 2025 09:41:00 +0000 (10:41 +0100)
Bits 13, 23, 24, and 27 are not used.  Move all those holes to the end.

Signed-off-by: NeilBrown <neilb@suse.de>
Link: https://lore.kernel.org/r/20250206054504.2950516-7-neilb@suse.de
Signed-off-by: Christian Brauner <brauner@kernel.org>
include/linux/dcache.h

index 4afb603..bb7216b 100644 (file)
@@ -203,34 +203,34 @@ struct dentry_operations {
 #define DCACHE_NFSFS_RENAMED           BIT(12)
      /* this dentry has been "silly renamed" and has to be deleted on the last
       * dput() */
-#define DCACHE_FSNOTIFY_PARENT_WATCHED BIT(14)
+#define DCACHE_FSNOTIFY_PARENT_WATCHED BIT(13)
      /* Parent inode is watched by some fsnotify listener */
 
-#define DCACHE_DENTRY_KILLED           BIT(15)
+#define DCACHE_DENTRY_KILLED           BIT(14)
 
-#define DCACHE_MOUNTED                 BIT(16) /* is a mountpoint */
-#define DCACHE_NEED_AUTOMOUNT          BIT(17) /* handle automount on this dir */
-#define DCACHE_MANAGE_TRANSIT          BIT(18) /* manage transit from this dirent */
+#define DCACHE_MOUNTED                 BIT(15) /* is a mountpoint */
+#define DCACHE_NEED_AUTOMOUNT          BIT(16) /* handle automount on this dir */
+#define DCACHE_MANAGE_TRANSIT          BIT(17) /* manage transit from this dirent */
 #define DCACHE_MANAGED_DENTRY \
        (DCACHE_MOUNTED|DCACHE_NEED_AUTOMOUNT|DCACHE_MANAGE_TRANSIT)
 
-#define DCACHE_LRU_LIST                        BIT(19)
+#define DCACHE_LRU_LIST                        BIT(18)
 
-#define DCACHE_ENTRY_TYPE              (7 << 20) /* bits 20..22 are for storing type: */
-#define DCACHE_MISS_TYPE               (0 << 20) /* Negative dentry */
-#define DCACHE_WHITEOUT_TYPE           (1 << 20) /* Whiteout dentry (stop pathwalk) */
-#define DCACHE_DIRECTORY_TYPE          (2 << 20) /* Normal directory */
-#define DCACHE_AUTODIR_TYPE            (3 << 20) /* Lookupless directory (presumed automount) */
-#define DCACHE_REGULAR_TYPE            (4 << 20) /* Regular file type */
-#define DCACHE_SPECIAL_TYPE            (5 << 20) /* Other file type */
-#define DCACHE_SYMLINK_TYPE            (6 << 20) /* Symlink */
+#define DCACHE_ENTRY_TYPE              (7 << 19) /* bits 19..21 are for storing type: */
+#define DCACHE_MISS_TYPE               (0 << 19) /* Negative dentry */
+#define DCACHE_WHITEOUT_TYPE           (1 << 19) /* Whiteout dentry (stop pathwalk) */
+#define DCACHE_DIRECTORY_TYPE          (2 << 19) /* Normal directory */
+#define DCACHE_AUTODIR_TYPE            (3 << 19) /* Lookupless directory (presumed automount) */
+#define DCACHE_REGULAR_TYPE            (4 << 19) /* Regular file type */
+#define DCACHE_SPECIAL_TYPE            (5 << 19) /* Other file type */
+#define DCACHE_SYMLINK_TYPE            (6 << 19) /* Symlink */
 
-#define DCACHE_NOKEY_NAME              BIT(25) /* Encrypted name encoded without key */
-#define DCACHE_OP_REAL                 BIT(26)
+#define DCACHE_NOKEY_NAME              BIT(22) /* Encrypted name encoded without key */
+#define DCACHE_OP_REAL                 BIT(23)
 
-#define DCACHE_PAR_LOOKUP              BIT(28) /* being looked up (with parent locked shared) */
-#define DCACHE_DENTRY_CURSOR           BIT(29)
-#define DCACHE_NORCU                   BIT(30) /* No RCU delay for freeing */
+#define DCACHE_PAR_LOOKUP              BIT(24) /* being looked up (with parent locked shared) */
+#define DCACHE_DENTRY_CURSOR           BIT(25)
+#define DCACHE_NORCU                   BIT(26) /* No RCU delay for freeing */
 
 extern seqlock_t rename_lock;