提交 8e3dffc6 编写于 作者: W Wang Shilong 提交者: Jan Kara

Ext2: mark inode dirty after the function dquot_free_block_nodirty is called

We should mark inode dirty after the function dquot_free_block_nodirty
is called.Besides,add a check whether it is necessary to call
dquot_free_block_nodirty functon.
Signed-off-by: NWang Shilong <wangsl-fnst@cn.fujitsu.com>
Signed-off-by: NJan Kara <jack@suse.cz>
上级 98783e45
......@@ -568,8 +568,11 @@ void ext2_free_blocks (struct inode * inode, unsigned long block,
}
error_return:
brelse(bitmap_bh);
release_blocks(sb, freed);
dquot_free_block_nodirty(inode, freed);
if (freed) {
release_blocks(sb, freed);
dquot_free_block_nodirty(inode, freed);
mark_inode_dirty(inode);
}
}
/**
......@@ -1412,9 +1415,11 @@ ext2_fsblk_t ext2_new_blocks(struct inode *inode, ext2_fsblk_t goal,
*errp = 0;
brelse(bitmap_bh);
dquot_free_block_nodirty(inode, *count-num);
mark_inode_dirty(inode);
*count = num;
if (num < *count) {
dquot_free_block_nodirty(inode, *count-num);
mark_inode_dirty(inode);
*count = num;
}
return ret_block;
io_error:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册