diff options
author | Mateusz Guzik <mjguzik@gmail.com> | 2024-06-11 14:06:23 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2024-06-12 14:13:26 +0200 |
commit | ddd4cd4824fa315c799174f2f655a474bf221a6c (patch) | |
tree | 6334ece35c9f6c5c5b11d8c05a679dd76180b115 /fs/xfs/xfs_icache.c | |
parent | btrfs: use iget5_locked_rcu (diff) | |
download | linux-ddd4cd4824fa315c799174f2f655a474bf221a6c.tar.xz linux-ddd4cd4824fa315c799174f2f655a474bf221a6c.zip |
xfs: preserve i_state around inode_init_always in xfs_reinit_inode
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@dread.disaster.area/
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://lore.kernel.org/r/20240611120626.513952-2-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/xfs/xfs_icache.c')
-rw-r--r-- | fs/xfs/xfs_icache.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; } |