[PATCH] fs: pack fields `i_state` and `i_fsnotify_mask`

From: Max Kellermann

Date: Wed Nov 11 2026 - 10:43:48 EST


Both were 32 bit fields followed by a 32 bit hole. This reduces size
of `struct inode` by 8 bytes.

Signed-off-by: Max Kellermann <max.kellermann@xxxxxxxxx>
---
include/linux/fs.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5b3a100aba77..9ab028dabc1b 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -813,7 +813,11 @@ struct inode {

/* Misc */
struct inode_state_flags i_state;
- /* 32-bit hole */
+
+#ifdef CONFIG_FSNOTIFY
+ __u32 i_fsnotify_mask; /* all events this inode cares about */
+#endif
+
struct rw_semaphore i_rwsem;

/* Timestamp for writeback list ordering and age checks (jiffies). */
@@ -865,8 +869,6 @@ struct inode {


#ifdef CONFIG_FSNOTIFY
- __u32 i_fsnotify_mask; /* all events this inode cares about */
- /* 32-bit hole reserved for expanding i_fsnotify_mask */
struct fsnotify_mark_connector __rcu *i_fsnotify_marks;
#endif

--
2.53.0