> bh = btrfs_read_dev_super(fs_devices->latest_bdev);
> if (!bh) {
> err = -EINVAL;
> goto fail_alloc;
> }
>
> memcpy(&fs_info->super_copy, bh->b_data, sizeof(fs_info->super_copy));
> memcpy(&fs_info->super_for_commit, &fs_info->super_copy,
> sizeof(fs_info->super_for_commit));
> brelse(bh);
>
> But the way superblocks are written look racy.
FWIW for my ext4 checksumming work I had to add an extra lock to stabilize
the super block (and the inodes) during checksumming.
Maybe something similar is needed here too.
-Andi
--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html