Skip to content

Commit

Permalink
erofs: use dsb instead of layout for ondisk super_block
Browse files Browse the repository at this point in the history
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/[email protected]/
Signed-off-by: Gao Xiang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
Gao Xiang authored and gregkh committed Sep 5, 2019
1 parent a2c75c8 commit 0259f20
Showing 1 changed file with 17 additions and 18 deletions.
35 changes: 17 additions & 18 deletions fs/erofs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ static void free_inode(struct inode *inode)
}

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;

Expand All @@ -68,7 +68,7 @@ static int superblock_read(struct super_block *sb)
{
struct erofs_sb_info *sbi;
struct buffer_head *bh;
struct erofs_super_block *layout;
struct erofs_super_block *dsb;
unsigned int blkszbits;
int ret;

Expand All @@ -80,42 +80,41 @@ static int superblock_read(struct super_block *sb)
}

sbi = EROFS_SB(sb);
layout = (struct erofs_super_block *)((u8 *)bh->b_data
+ EROFS_SUPER_OFFSET);
dsb = (struct erofs_super_block *)(bh->b_data + EROFS_SUPER_OFFSET);

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");
goto out;
}

blkszbits = layout->blkszbits;
blkszbits = dsb->blkszbits;
/* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
if (blkszbits != LOG_BLOCK_SIZE) {
errln("blksize %u isn't supported on this platform",
1 << blkszbits);
goto out;
}

if (!check_layout_compatibility(sb, layout))
if (!check_layout_compatibility(sb, dsb))
goto out;

sbi->blocks = le32_to_cpu(layout->blocks);
sbi->meta_blkaddr = le32_to_cpu(layout->meta_blkaddr);
sbi->blocks = le32_to_cpu(dsb->blocks);
sbi->meta_blkaddr = le32_to_cpu(dsb->meta_blkaddr);
#ifdef CONFIG_EROFS_FS_XATTR
sbi->xattr_blkaddr = le32_to_cpu(layout->xattr_blkaddr);
sbi->xattr_blkaddr = le32_to_cpu(dsb->xattr_blkaddr);
#endif
sbi->islotbits = ilog2(sizeof(struct erofs_inode_compact));
sbi->root_nid = le16_to_cpu(layout->root_nid);
sbi->inos = le64_to_cpu(layout->inos);
sbi->root_nid = le16_to_cpu(dsb->root_nid);
sbi->inos = le64_to_cpu(dsb->inos);

sbi->build_time = le64_to_cpu(layout->build_time);
sbi->build_time_nsec = le32_to_cpu(layout->build_time_nsec);
sbi->build_time = le64_to_cpu(dsb->build_time);
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,
sizeof(layout->volume_name));
ret = strscpy(sbi->volume_name, dsb->volume_name,
sizeof(dsb->volume_name));
if (ret < 0) { /* -E2BIG */
errln("bad volume name without NIL terminator");
ret = -EFSCORRUPTED;
Expand Down

0 comments on commit 0259f20

Please sign in to comment.