diff options
-rw-r--r-- | fs/btrfs/scrub.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index d1aa95a4f843..72c8981e7c0a 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c | |||
@@ -2832,7 +2832,11 @@ static noinline_for_stack int scrub_supers(struct scrub_ctx *sctx, | |||
2832 | if (test_bit(BTRFS_FS_STATE_ERROR, &root->fs_info->fs_state)) | 2832 | if (test_bit(BTRFS_FS_STATE_ERROR, &root->fs_info->fs_state)) |
2833 | return -EIO; | 2833 | return -EIO; |
2834 | 2834 | ||
2835 | gen = root->fs_info->last_trans_committed; | 2835 | /* Seed devices of a new filesystem has their own generation. */ |
2836 | if (scrub_dev->fs_devices != root->fs_info->fs_devices) | ||
2837 | gen = scrub_dev->generation; | ||
2838 | else | ||
2839 | gen = root->fs_info->last_trans_committed; | ||
2836 | 2840 | ||
2837 | for (i = 0; i < BTRFS_SUPER_MIRROR_MAX; i++) { | 2841 | for (i = 0; i < BTRFS_SUPER_MIRROR_MAX; i++) { |
2838 | bytenr = btrfs_sb_offset(i); | 2842 | bytenr = btrfs_sb_offset(i); |