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

Reply via email to