diff options
author | Gui Hecheng <guihc.fnst@cn.fujitsu.com> | 2015-01-09 09:39:40 +0800 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-01-27 15:26:16 -0800 |
commit | 063c54dccdecb0479662778ddf54ee45aa55423d (patch) | |
tree | 7c82949f2554d2106ae86971a114b61972f7d3fc /fs/btrfs/scrub.c | |
parent | a53f4f8e9c8ebe6c9ee3b34c368913aae9876e22 (diff) | |
download | lwn-063c54dccdecb0479662778ddf54ee45aa55423d.tar.gz lwn-063c54dccdecb0479662778ddf54ee45aa55423d.zip |
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 <guihc.fnst@cn.fujitsu.com>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/scrub.c')
-rw-r--r-- | fs/btrfs/scrub.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index 2f0fbc374e87..e427cb7ee12c 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 |