diff options
| author | Wang Shilong <[email protected]> | 2013-12-04 13:15:19 +0000 |
|---|---|---|
| committer | Chris Mason <[email protected]> | 2014-01-28 21:19:52 +0000 |
| commit | 3cb0929ad24c95c5fd8f08eb41a702a65954b4c6 (patch) | |
| tree | 211cab1032216d0cea1ebd12b866225f73fd91dc /fs/btrfs/dev-replace.c | |
| parent | Btrfs: fix pass of transid with wrong endianness in send.c (diff) | |
| download | kernel-3cb0929ad24c95c5fd8f08eb41a702a65954b4c6.tar.gz kernel-3cb0929ad24c95c5fd8f08eb41a702a65954b4c6.zip | |
Btrfs: fix wrong super generation mismatch when scrubbing supers
We came a race condition when scrubbing superblocks, the story is:
In commiting transaction, we will update @last_trans_commited after
writting superblocks, if scrubber start after writting superblocks
and before updating @last_trans_commited, generation mismatch happens!
We fix this by checking @scrub_pause_req, and we won't start a srubber
until commiting transaction is finished.(after btrfs_scrub_continue()
finished.)
Reported-by: Sebastian Ochmann <[email protected]>
Signed-off-by: Wang Shilong <[email protected]>
Reviewed-by: Miao Xie <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions
