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: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
Wang Shilong 2013-02-07 22:57:53 +08:00 committed by Jan Kara
parent 98783e453c
commit 8e3dffc651
1 changed files with 10 additions and 5 deletions

View File

@ -568,8 +568,11 @@ do_more:
}
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 @@ allocated:
*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: