diff options
-rw-r--r-- | chunk-recover.c | 3 | ||||
-rw-r--r-- | ctree.h | 4 | ||||
-rw-r--r-- | disk-io.c | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/chunk-recover.c b/chunk-recover.c index cf8b3184..1a880038 100644 --- a/chunk-recover.c +++ b/chunk-recover.c @@ -1475,6 +1475,9 @@ open_ctree_with_broken_chunk(struct recover_control *rc) } memcpy(fs_info->fsid, &disk_super->fsid, BTRFS_FSID_SIZE); + fs_info->sectorsize = btrfs_super_sectorsize(disk_super); + fs_info->nodesize = btrfs_super_nodesize(disk_super); + fs_info->stripesize = btrfs_super_stripesize(disk_super); ret = btrfs_check_fs_compatibility(disk_super, OPEN_CTREE_WRITES); if (ret) @@ -1147,6 +1147,10 @@ struct btrfs_fs_info { struct cache_tree *fsck_extent_cache; struct cache_tree *corrupt_blocks; + /* Cached block sizes */ + u32 nodesize; + u32 sectorsize; + u32 stripesize; }; /* @@ -1327,6 +1327,9 @@ static struct btrfs_fs_info *__open_ctree_fd(int fp, const char *path, } memcpy(fs_info->fsid, &disk_super->fsid, BTRFS_FSID_SIZE); + fs_info->sectorsize = btrfs_super_sectorsize(disk_super); + fs_info->nodesize = btrfs_super_nodesize(disk_super); + fs_info->stripesize = btrfs_super_stripesize(disk_super); ret = btrfs_check_fs_compatibility(fs_info->super_copy, flags); if (ret) |