Commit 0259f209 authored by Gao Xiang's avatar Gao Xiang Committed by Greg Kroah-Hartman

erofs: use dsb instead of layout for ondisk super_block

As Christoph pointed out [1], "Why is the variable name
for the on-disk subperblock layout? We usually still
calls this something with sb in the name, e.g. dsb.
for disksuper block. " Let's fix it.

[1] https://lore.kernel.org/r/20190829101545.GC20598@infradead.org/Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190904020912.63925-14-gaoxiang25@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a2c75c81
...@@ -49,9 +49,9 @@ static void free_inode(struct inode *inode) ...@@ -49,9 +49,9 @@ static void free_inode(struct inode *inode)
} }
static bool check_layout_compatibility(struct super_block *sb, static bool check_layout_compatibility(struct super_block *sb,
struct erofs_super_block *layout) struct erofs_super_block *dsb)
{ {
const unsigned int feature = le32_to_cpu(layout->feature_incompat); const unsigned int feature = le32_to_cpu(dsb->feature_incompat);
EROFS_SB(sb)->feature_incompat = feature; EROFS_SB(sb)->feature_incompat = feature;
...@@ -68,7 +68,7 @@ static int superblock_read(struct super_block *sb) ...@@ -68,7 +68,7 @@ static int superblock_read(struct super_block *sb)
{ {
struct erofs_sb_info *sbi; struct erofs_sb_info *sbi;
struct buffer_head *bh; struct buffer_head *bh;
struct erofs_super_block *layout; struct erofs_super_block *dsb;
unsigned int blkszbits; unsigned int blkszbits;
int ret; int ret;
...@@ -80,16 +80,15 @@ static int superblock_read(struct super_block *sb) ...@@ -80,16 +80,15 @@ static int superblock_read(struct super_block *sb)
} }
sbi = EROFS_SB(sb); sbi = EROFS_SB(sb);
layout = (struct erofs_super_block *)((u8 *)bh->b_data dsb = (struct erofs_super_block *)(bh->b_data + EROFS_SUPER_OFFSET);
+ EROFS_SUPER_OFFSET);
ret = -EINVAL; ret = -EINVAL;
if (le32_to_cpu(layout->magic) != EROFS_SUPER_MAGIC_V1) { if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) {
errln("cannot find valid erofs superblock"); errln("cannot find valid erofs superblock");
goto out; goto out;
} }
blkszbits = layout->blkszbits; blkszbits = dsb->blkszbits;
/* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */ /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
if (blkszbits != LOG_BLOCK_SIZE) { if (blkszbits != LOG_BLOCK_SIZE) {
errln("blksize %u isn't supported on this platform", errln("blksize %u isn't supported on this platform",
...@@ -97,25 +96,25 @@ static int superblock_read(struct super_block *sb) ...@@ -97,25 +96,25 @@ static int superblock_read(struct super_block *sb)
goto out; goto out;
} }
if (!check_layout_compatibility(sb, layout)) if (!check_layout_compatibility(sb, dsb))
goto out; goto out;
sbi->blocks = le32_to_cpu(layout->blocks); sbi->blocks = le32_to_cpu(dsb->blocks);
sbi->meta_blkaddr = le32_to_cpu(layout->meta_blkaddr); sbi->meta_blkaddr = le32_to_cpu(dsb->meta_blkaddr);
#ifdef CONFIG_EROFS_FS_XATTR #ifdef CONFIG_EROFS_FS_XATTR
sbi->xattr_blkaddr = le32_to_cpu(layout->xattr_blkaddr); sbi->xattr_blkaddr = le32_to_cpu(dsb->xattr_blkaddr);
#endif #endif
sbi->islotbits = ilog2(sizeof(struct erofs_inode_compact)); sbi->islotbits = ilog2(sizeof(struct erofs_inode_compact));
sbi->root_nid = le16_to_cpu(layout->root_nid); sbi->root_nid = le16_to_cpu(dsb->root_nid);
sbi->inos = le64_to_cpu(layout->inos); sbi->inos = le64_to_cpu(dsb->inos);
sbi->build_time = le64_to_cpu(layout->build_time); sbi->build_time = le64_to_cpu(dsb->build_time);
sbi->build_time_nsec = le32_to_cpu(layout->build_time_nsec); sbi->build_time_nsec = le32_to_cpu(dsb->build_time_nsec);
memcpy(&sb->s_uuid, layout->uuid, sizeof(layout->uuid)); memcpy(&sb->s_uuid, dsb->uuid, sizeof(dsb->uuid));
ret = strscpy(sbi->volume_name, layout->volume_name, ret = strscpy(sbi->volume_name, dsb->volume_name,
sizeof(layout->volume_name)); sizeof(dsb->volume_name));
if (ret < 0) { /* -E2BIG */ if (ret < 0) { /* -E2BIG */
errln("bad volume name without NIL terminator"); errln("bad volume name without NIL terminator");
ret = -EFSCORRUPTED; ret = -EFSCORRUPTED;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment