Revert "btrfs: use proper endianness accessors for super_copy"
This reverts commit 3c181c12c4
as it
causes breakage on big endian systems with btrfs images.
Reported-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
Cc: Anand Jain <anand.jain@oracle.com>
Cc: Liu Bo <bo.li.liu@oracle.com>
Cc: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
d916e45394
Коммит
2b0509fa4a
|
@ -422,7 +422,7 @@ static ssize_t btrfs_nodesize_show(struct kobject *kobj,
|
|||
{
|
||||
struct btrfs_fs_info *fs_info = to_fs_info(kobj);
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "%u\n", fs_info->nodesize);
|
||||
return snprintf(buf, PAGE_SIZE, "%u\n", fs_info->super_copy->nodesize);
|
||||
}
|
||||
|
||||
BTRFS_ATTR(nodesize, btrfs_nodesize_show);
|
||||
|
@ -432,7 +432,8 @@ static ssize_t btrfs_sectorsize_show(struct kobject *kobj,
|
|||
{
|
||||
struct btrfs_fs_info *fs_info = to_fs_info(kobj);
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "%u\n", fs_info->sectorsize);
|
||||
return snprintf(buf, PAGE_SIZE, "%u\n",
|
||||
fs_info->super_copy->sectorsize);
|
||||
}
|
||||
|
||||
BTRFS_ATTR(sectorsize, btrfs_sectorsize_show);
|
||||
|
@ -442,7 +443,8 @@ static ssize_t btrfs_clone_alignment_show(struct kobject *kobj,
|
|||
{
|
||||
struct btrfs_fs_info *fs_info = to_fs_info(kobj);
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "%u\n", fs_info->sectorsize);
|
||||
return snprintf(buf, PAGE_SIZE, "%u\n",
|
||||
fs_info->super_copy->sectorsize);
|
||||
}
|
||||
|
||||
BTRFS_ATTR(clone_alignment, btrfs_clone_alignment_show);
|
||||
|
|
|
@ -1722,23 +1722,19 @@ static void update_super_roots(struct btrfs_fs_info *fs_info)
|
|||
|
||||
super = fs_info->super_copy;
|
||||
|
||||
/* update latest btrfs_super_block::chunk_root refs */
|
||||
root_item = &fs_info->chunk_root->root_item;
|
||||
btrfs_set_super_chunk_root(super, root_item->bytenr);
|
||||
btrfs_set_super_chunk_root_generation(super, root_item->generation);
|
||||
btrfs_set_super_chunk_root_level(super, root_item->level);
|
||||
super->chunk_root = root_item->bytenr;
|
||||
super->chunk_root_generation = root_item->generation;
|
||||
super->chunk_root_level = root_item->level;
|
||||
|
||||
/* update latest btrfs_super_block::root refs */
|
||||
root_item = &fs_info->tree_root->root_item;
|
||||
btrfs_set_super_root(super, root_item->bytenr);
|
||||
btrfs_set_super_generation(super, root_item->generation);
|
||||
btrfs_set_super_root_level(super, root_item->level);
|
||||
|
||||
super->root = root_item->bytenr;
|
||||
super->generation = root_item->generation;
|
||||
super->root_level = root_item->level;
|
||||
if (btrfs_test_opt(fs_info, SPACE_CACHE))
|
||||
btrfs_set_super_cache_generation(super, root_item->generation);
|
||||
super->cache_generation = root_item->generation;
|
||||
if (test_bit(BTRFS_FS_UPDATE_UUID_TREE_GEN, &fs_info->flags))
|
||||
btrfs_set_super_uuid_tree_generation(super,
|
||||
root_item->generation);
|
||||
super->uuid_tree_generation = root_item->generation;
|
||||
}
|
||||
|
||||
int btrfs_transaction_in_commit(struct btrfs_fs_info *info)
|
||||
|
|
Загрузка…
Ссылка в новой задаче