From: Gui Hecheng Date: Fri, 9 Jan 2015 01:39:40 +0000 (+0800) Subject: btrfs: fix raid56 scrub failed in xfstests btrfs/072 X-Git-Tag: v4.9.8~4899^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=063c54dccdecb0479662778ddf54ee45aa55423d;p=platform%2Fkernel%2Flinux-rpi3.git btrfs: fix raid56 scrub failed in xfstests btrfs/072 The xfstests btrfs/072 reports uncorrectable read errors in dmesg, because scrub forgets to use commit_root for parity scrub routine and scrub attempts to scrub those extents items whose contents are not fully on disk. To fix it, we just add the @search_commit_root flag back. Signed-off-by: Gui Hecheng Signed-off-by: Qu Wenruo Reviewed-by: Miao Xie Signed-off-by: Chris Mason --- diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index 2f0fbc3..e427cb7e 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -3065,6 +3065,8 @@ static noinline_for_stack int scrub_stripe(struct scrub_ctx *sctx, path->search_commit_root = 1; path->skip_locking = 1; + ppath->search_commit_root = 1; + ppath->skip_locking = 1; /* * trigger the readahead for extent tree csum tree and wait for * completion. During readahead, the scrub is officially paused