Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd66c0d5 authored by Ryusuke Konishi's avatar Ryusuke Konishi
Browse files

nilfs2: hide nilfs_mdt_clear calls in nilfs_mdt_destroy



This will hide a function call of nilfs_mdt_clear() in
nilfs_mdt_destroy().

This ensures nilfs_mdt_destroy() to do cleanup jobs included in
nilfs_mdt_clear().

Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
parent 3961f0e2
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -266,7 +266,6 @@ struct inode *nilfs_gc_iget(struct the_nilfs *nilfs, ino_t ino, __u64 cno)
 */
void nilfs_clear_gcinode(struct inode *inode)
{
	nilfs_mdt_clear(inode);
	nilfs_mdt_destroy(inode);
}

+5 −2
Original line number Diff line number Diff line
@@ -553,13 +553,14 @@ void nilfs_mdt_set_shadow(struct inode *orig, struct inode *shadow)
		&NILFS_I(orig)->i_btnode_cache;
}

void nilfs_mdt_clear(struct inode *inode)
static void nilfs_mdt_clear(struct inode *inode)
{
	struct nilfs_inode_info *ii = NILFS_I(inode);

	invalidate_mapping_pages(inode->i_mapping, 0, -1);
	truncate_inode_pages(inode->i_mapping, 0);

	if (test_bit(NILFS_I_BMAP, &ii->i_state))
		nilfs_bmap_clear(ii->i_bmap);
	nilfs_btnode_cache_clear(&ii->i_btnode_cache);
}
@@ -568,6 +569,8 @@ void nilfs_mdt_destroy(struct inode *inode)
{
	struct nilfs_mdt_info *mdi = NILFS_MDT(inode);

	nilfs_mdt_clear(inode);

	kfree(mdi->mi_bgl); /* kfree(NULL) is safe */
	kfree(mdi);
	nilfs_destroy_inode(inode);
+0 −1
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ struct inode *nilfs_mdt_new(struct the_nilfs *, struct super_block *, ino_t,
struct inode *nilfs_mdt_new_common(struct the_nilfs *, struct super_block *,
				   ino_t, gfp_t, size_t);
void nilfs_mdt_destroy(struct inode *);
void nilfs_mdt_clear(struct inode *);
void nilfs_mdt_set_entry_size(struct inode *, unsigned, unsigned);
void nilfs_mdt_set_shadow(struct inode *, struct inode *);

+0 −6
Original line number Diff line number Diff line
@@ -770,14 +770,8 @@ int nilfs_recover_logical_segments(struct the_nilfs *nilfs,
		nilfs_finish_roll_forward(nilfs, sbi, ri);
	}

	nilfs_detach_checkpoint(sbi);
	return 0;

 failed:
	nilfs_detach_checkpoint(sbi);
	nilfs_mdt_clear(nilfs->ns_cpfile);
	nilfs_mdt_clear(nilfs->ns_sufile);
	nilfs_mdt_clear(nilfs->ns_dat);
	return err;
}

+0 −1
Original line number Diff line number Diff line
@@ -407,7 +407,6 @@ void nilfs_detach_checkpoint(struct nilfs_sb_info *sbi)
{
	struct the_nilfs *nilfs = sbi->s_nilfs;

	nilfs_mdt_clear(sbi->s_ifile);
	nilfs_mdt_destroy(sbi->s_ifile);
	sbi->s_ifile = NULL;
	down_write(&nilfs->ns_super_sem);
Loading