Cache the super-block's checksum type field in 'struct recover_control'. This will be needed for further refactoring the checksum handling.
Signed-off-by: Johannes Thumshirn <jthumsh...@suse.de> Reviewed-by: Nikolay Borisov <nbori...@suse.com> --- cmds/rescue-chunk-recover.c | 2 ++ ctree.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmds/rescue-chunk-recover.c b/cmds/rescue-chunk-recover.c index c9b268781159..1959a2047c17 100644 --- a/cmds/rescue-chunk-recover.c +++ b/cmds/rescue-chunk-recover.c @@ -47,6 +47,7 @@ struct recover_control { int yes; u16 csum_size; + u16 csum_type; u32 sectorsize; u32 nodesize; u64 generation; @@ -1530,6 +1531,7 @@ static int recover_prepare(struct recover_control *rc, const char *path) rc->generation = btrfs_super_generation(sb); rc->chunk_root_generation = btrfs_super_chunk_root_generation(sb); rc->csum_size = btrfs_super_csum_size(sb); + rc->csum_type = btrfs_super_csum_type(sb); /* if seed, the result of scanning below will be partial */ if (btrfs_super_flags(sb) & BTRFS_SUPER_FLAG_SEEDING) { diff --git a/ctree.h b/ctree.h index 0d12563b7261..870d9f4948de 100644 --- a/ctree.h +++ b/ctree.h @@ -165,7 +165,9 @@ struct btrfs_free_space_ctl; #define BTRFS_CSUM_SIZE 32 /* csum types */ -#define BTRFS_CSUM_TYPE_CRC32 0 +enum btrfs_csum_type { + BTRFS_CSUM_TYPE_CRC32 = 0, +}; /* four bytes for CRC32 */ static int btrfs_csum_sizes[] = { 4 }; -- 2.16.4