[PATCH 4.15 025/128] [PATCH] Revert "btrfs: use proper endianness accessors for super_copy"

2018-03-16 Thread Greg Kroah-Hartman
4.15-stable review patch.  If anyone has any objections, please let me know.

--

This reverts commit 3c181c12c431fe33b669410d663beb9cceefcd1b as it
causes breakage on big endian systems with btrfs images.

Reported-by: Christoph Biedl 
Cc: Anand Jain 
Cc: Liu Bo 
Cc: David Sterba 
Signed-off-by: Greg Kroah-Hartman 
---
 fs/btrfs/sysfs.c   |8 +---
 fs/btrfs/transaction.c |   20 
 2 files changed, 13 insertions(+), 15 deletions(-)

--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
@@ -423,7 +423,7 @@ static ssize_t btrfs_nodesize_show(struc
 {
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);
@@ -433,7 +433,8 @@ static ssize_t btrfs_sectorsize_show(str
 {
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);
@@ -443,7 +444,8 @@ static ssize_t btrfs_clone_alignment_sho
 {
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);
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1723,23 +1723,19 @@ static void update_super_roots(struct bt
 
super = fs_info->super_copy;
 
-   /* update latest btrfs_super_block::chunk_root refs */
root_item = _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 = _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, _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)




[PATCH 4.15 025/128] [PATCH] Revert "btrfs: use proper endianness accessors for super_copy"

2018-03-16 Thread Greg Kroah-Hartman
4.15-stable review patch.  If anyone has any objections, please let me know.

--

This reverts commit 3c181c12c431fe33b669410d663beb9cceefcd1b as it
causes breakage on big endian systems with btrfs images.

Reported-by: Christoph Biedl 
Cc: Anand Jain 
Cc: Liu Bo 
Cc: David Sterba 
Signed-off-by: Greg Kroah-Hartman 
---
 fs/btrfs/sysfs.c   |8 +---
 fs/btrfs/transaction.c |   20 
 2 files changed, 13 insertions(+), 15 deletions(-)

--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
@@ -423,7 +423,7 @@ static ssize_t btrfs_nodesize_show(struc
 {
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);
@@ -433,7 +433,8 @@ static ssize_t btrfs_sectorsize_show(str
 {
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);
@@ -443,7 +444,8 @@ static ssize_t btrfs_clone_alignment_sho
 {
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);
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1723,23 +1723,19 @@ static void update_super_roots(struct bt
 
super = fs_info->super_copy;
 
-   /* update latest btrfs_super_block::chunk_root refs */
root_item = _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 = _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, _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)