On Wed, Aug 21, 2024 at 03:03:01PM GMT, Andreas Dilger wrote: > On Aug 21, 2024, at 9:47 AM, Christian Brauner <brauner@xxxxxxxxxx> wrote: > > > > Now that we use the wait var event mechanism make i_state a u32 and free > > up 4 bytes. This means we currently have two 4 byte holes in struct > > inode which we can pack. > > > > Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> > > --- > > include/linux/fs.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/include/linux/fs.h b/include/linux/fs.h > > index 8525f8bfd7b9..a673173b6896 100644 > > --- a/include/linux/fs.h > > +++ b/include/linux/fs.h > > @@ -681,7 +681,7 @@ struct inode { > > #endif > > > > /* Misc */ > > - unsigned long i_state; > > + u32 i_state; > > Is it worthwhile to add a comment that there is a hole here, instead > of leaving it for future re-discovery? > > /* 32-bit hole */ > > > struct rw_semaphore i_rwsem; > > > > unsigned long dirtied_when; /* jiffies of first dirtying */ > > Normally this would be excess noise, but since struct inode is > micro-optimized (like struct page) it probably makes sense to > document this case. Good idea. Added now!