f2fs: introduce __f2fs_commit_super
Introduce __f2fs_commit_super to include duplicated codes in f2fs_commit_super for cleanup. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
55d1cdb25a
commit
b3980910f7
|
@ -1187,14 +1187,13 @@ next:
|
|||
return 0;
|
||||
}
|
||||
|
||||
int f2fs_commit_super(struct f2fs_sb_info *sbi, bool recover)
|
||||
int __f2fs_commit_super(struct f2fs_sb_info *sbi, int block)
|
||||
{
|
||||
struct f2fs_super_block *super = F2FS_RAW_SUPER(sbi);
|
||||
struct buffer_head *bh;
|
||||
int err;
|
||||
|
||||
/* write back-up superblock first */
|
||||
bh = sb_getblk(sbi->sb, sbi->valid_super_block ? 0 : 1);
|
||||
bh = sb_getblk(sbi->sb, block);
|
||||
if (!bh)
|
||||
return -EIO;
|
||||
|
||||
|
@ -1208,25 +1207,22 @@ int f2fs_commit_super(struct f2fs_sb_info *sbi, bool recover)
|
|||
err = __sync_dirty_buffer(bh, WRITE_FLUSH_FUA);
|
||||
brelse(bh);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int f2fs_commit_super(struct f2fs_sb_info *sbi, bool recover)
|
||||
{
|
||||
int err;
|
||||
|
||||
/* write back-up superblock first */
|
||||
err = __f2fs_commit_super(sbi, sbi->valid_super_block ? 0 : 1);
|
||||
|
||||
/* if we are in recovery path, skip writing valid superblock */
|
||||
if (recover || err)
|
||||
return err;
|
||||
|
||||
bh = sb_getblk(sbi->sb, sbi->valid_super_block);
|
||||
if (!bh)
|
||||
return -EIO;
|
||||
|
||||
/* write current valid superblock */
|
||||
lock_buffer(bh);
|
||||
memcpy(bh->b_data + F2FS_SUPER_OFFSET, super, sizeof(*super));
|
||||
set_buffer_uptodate(bh);
|
||||
set_buffer_dirty(bh);
|
||||
unlock_buffer(bh);
|
||||
|
||||
err = __sync_dirty_buffer(bh, WRITE_FLUSH_FUA);
|
||||
brelse(bh);
|
||||
|
||||
return err;
|
||||
return __f2fs_commit_super(sbi, sbi->valid_super_block);
|
||||
}
|
||||
|
||||
static int f2fs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
|
Loading…
Reference in New Issue