On 10.05.19 г. 14:15 ч., Johannes Thumshirn wrote:
> Check for supported superblock checksum type before doing the actual
> checksum validation of the superblock read from disk.
This is rather terse, how does it improve the code and what was the
current status quo (e.g before this patch).
>
> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx>
> ---
> fs/btrfs/disk-io.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
> index ab13282d91d2..74937effaed4 100644
> --- a/fs/btrfs/disk-io.c
> +++ b/fs/btrfs/disk-io.c
> @@ -2822,6 +2822,14 @@ int open_ctree(struct super_block *sb,
> goto fail_alloc;
> }
>
> + if (!btrfs_supported_super_csum((struct btrfs_super_block *)
> + bh->b_data)) {
> + btrfs_err(fs_info, "unsupported checksum algorithm");
> + err = -EINVAL;
> + brelse(bh);
> + goto fail_alloc;
> + }
> +
> /*
> * We want to check superblock checksum, the type is stored inside.
> * Pass the whole disk block of size BTRFS_SUPER_INFO_SIZE (4k).
>