[PATCH v2 1/4] xfs: preserve i_state around inode_init_always in xfs_reinit_inode

From: Mateusz Guzik
Date: Tue Jun 11 2024 - 08:07:34 EST


This is in preparation for the routine starting to zero the field.

De facto coded by Dave Chinner, see:
https://lore.kernel.org/linux-fsdevel/ZmgtaGglOL33Wkzr@xxxxxxxxxxxxxxxxxxx/

Signed-off-by: Mateusz Guzik <mjguzik@xxxxxxxxx>
---
fs/xfs/xfs_icache.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c
index 0953163a2d84..d31a2c1ac00a 100644
--- a/fs/xfs/xfs_icache.c
+++ b/fs/xfs/xfs_icache.c
@@ -314,6 +314,7 @@ xfs_reinit_inode(
dev_t dev = inode->i_rdev;
kuid_t uid = inode->i_uid;
kgid_t gid = inode->i_gid;
+ unsigned long state = inode->i_state;

error = inode_init_always(mp->m_super, inode);

@@ -324,6 +325,7 @@ xfs_reinit_inode(
inode->i_rdev = dev;
inode->i_uid = uid;
inode->i_gid = gid;
+ inode->i_state = state;
mapping_set_large_folios(inode->i_mapping);
return error;
}
--
2.43.0