]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: properly handle free inodes in extent hint validators
authorEric Sandeen <sandeen@redhat.com>
Tue, 24 Jul 2018 18:34:52 +0000 (11:34 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 24 Jul 2018 18:34:52 +0000 (11:34 -0700)
commit9e0a3f479a7703f94acd683fb7782ea552ec7950
treeea3ef619e713031fb23f3e9afec9cca495a09a21
parent9e27f6516c2b6aa374612f3e9b7c4845012f40cd
xfs: properly handle free inodes in extent hint validators

When inodes are freed in xfs_ifree(), di_flags is cleared (so extent size
hints are removed) but the actual extent size fields are left intact.
This causes the extent hint validators to fail on freed inodes which once
had extent size hints.

This can be observed (for example) by running xfs/229 twice on a
non-crc xfs filesystem, or presumably on V5 with ikeep.

Fixes: be02a6e ("xfs: verify extent size hint is valid in inode verifier")
Fixes: 27f686f ("xfs: verify COW extent size hint is valid in inode verifier")
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/libxfs/xfs_inode_buf.c