]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: scrub: Disable check for unoptimized data fork bmbt node
authorChandan Babu R <chandanrlinux@gmail.com>
Tue, 6 Apr 2021 13:59:18 +0000 (06:59 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 7 Apr 2021 21:37:06 +0000 (14:37 -0700)
commit6560ffe513d843abd2f889215e29d641664201f6
tree4343402b914680350be4bc7846a7533b040bf090
parent416ba576eb4f1893c1e645e610016d6b7c7e3450
xfs: scrub: Disable check for unoptimized data fork bmbt node

xchk_btree_check_minrecs() checks if the contents of the immediate child of a
bmbt root block can fit within the root block. This check could fail on inodes
with an attr fork since xfs_bmap_add_attrfork_btree() used to demote the
current root node of the data fork as the child of a newly allocated root node
if it found that the size of "struct xfs_btree_block" along with the space
required for records exceeded that of space available in the data fork.

xfs_bmap_add_attrfork_btree() should have used "struct xfs_bmdr_block" instead
of "struct xfs_btree_block" for the above mentioned space requirement
calculation. This commit disables the check for unoptimized (in terms of
disk space usage) data fork bmbt trees since there could be filesystems
in use that already have such a layout.

Suggested-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanrlinux@gmail.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/scrub/btree.c