diff options
Diffstat (limited to 'fs/xfs/xfs_icache.c')
| -rw-r--r-- | fs/xfs/xfs_icache.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index 0953163a2d84..cf629302d48e 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -86,9 +86,8 @@ xfs_inode_alloc(  		return NULL;  	} -	/* VFS doesn't initialise i_mode or i_state! */ +	/* VFS doesn't initialise i_mode! */  	VFS_I(ip)->i_mode = 0; -	VFS_I(ip)->i_state = 0;  	mapping_set_large_folios(VFS_I(ip)->i_mapping);  	XFS_STATS_INC(mp, vn_active); @@ -314,6 +313,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 +324,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;  } @@ -1155,7 +1156,7 @@ xfs_inode_free_eofblocks(  	}  	*lockflags |= XFS_IOLOCK_EXCL; -	if (xfs_can_free_eofblocks(ip, false)) +	if (xfs_can_free_eofblocks(ip))  		return xfs_free_eofblocks(ip);  	/* inode could be preallocated or append-only */  |