From: Darrick J. Wong Date: Tue, 23 Jan 2018 03:19:26 +0000 (-0800) Subject: xfs: always zero di_flags2 when we free the inode X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=beaae8cd588ec7b4e58f4bc32f603be15fb11766;p=linux.git xfs: always zero di_flags2 when we free the inode Always zero the di_flags2 field when we free the inode so that we never end up with an on-disk record for an unallocated inode that also has the reflink iflag set. This is in keeping with the general principle that only files can have the reflink iflag set, even though we'll zero out di_flags2 if we ever reallocate the inode. Signed-off-by: Darrick J. Wong Reviewed-by: Brian Foster Reviewed-by: Christoph Hellwig --- diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index c66effc8e7ddb..4ea6476bcbd78 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -2449,6 +2449,7 @@ xfs_ifree( VFS_I(ip)->i_mode = 0; /* mark incore inode as free */ ip->i_d.di_flags = 0; + ip->i_d.di_flags2 = 0; ip->i_d.di_dmevmask = 0; ip->i_d.di_forkoff = 0; /* mark the attr fork not in use */ ip->i_d.di_format = XFS_DINODE_FMT_EXTENTS;