OpenCloudOS-Kernel/fs/xfs/scrub
Darrick J. Wong add46b3b02 xfs: set buffer ops when repair probes for btree type
In xrep_findroot_block, we work out the btree type and correctness of a
given block by calling different btree verifiers on root block
candidates.  However, we leave the NULL b_ops while ->verify_read
validates the block, which means that if the verifier calls
xfs_buf_verifier_error it'll crash on the null b_ops.  Fix it to set
b_ops before calling the verifier and unsetting it if the verifier
fails.

Furthermore, improve the documentation around xfs_buf_ensure_ops, which
is the function that is responsible for cleaning up the b_ops state of
buffers that go through xrep_findroot_block but don't match anything.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
2019-02-03 14:03:59 -08:00
..
agheader.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
agheader_repair.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
alloc.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
attr.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
bitmap.c xfs: repair the AGFL 2018-08-10 11:44:31 -07:00
bitmap.h xfs: repair the AGFL 2018-08-10 11:44:31 -07:00
bmap.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
btree.c xfs: const-ify xfs_owner_info arguments 2018-12-12 08:47:16 -08:00
btree.h xfs: const-ify xfs_owner_info arguments 2018-12-12 08:47:16 -08:00
common.c xfs: const-ify xfs_owner_info arguments 2018-12-12 08:47:16 -08:00
common.h xfs: const-ify xfs_owner_info arguments 2018-12-12 08:47:16 -08:00
dabtree.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
dabtree.h xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
dir.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
ialloc.c xfs: count inode blocks correctly in inobt scrub 2018-12-12 08:47:17 -08:00
inode.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
parent.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
quota.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
refcount.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
repair.c xfs: set buffer ops when repair probes for btree type 2019-02-03 14:03:59 -08:00
repair.h xfs: const-ify xfs_owner_info arguments 2018-12-12 08:47:16 -08:00
rmap.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
rtbitmap.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
scrub.c xfs: remove suport for filesystems without unwritten extent flag 2018-10-18 17:18:58 +11:00
scrub.h xfs: const-ify xfs_owner_info arguments 2018-12-12 08:47:16 -08:00
symlink.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
trace.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
trace.h xfs: stringify scrub types in ftrace output 2018-12-19 14:02:01 -08:00
xfs_scrub.h xfs: convert to SPDX license tags 2018-06-06 14:17:53 -07:00