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

View file

@ -568,8 +568,11 @@ do_more:
} }
error_return: error_return:
brelse(bitmap_bh); brelse(bitmap_bh);
release_blocks(sb, freed); if (freed) {
dquot_free_block_nodirty(inode, freed); release_blocks(sb, freed);
dquot_free_block_nodirty(inode, freed);
mark_inode_dirty(inode);
}
} }
/** /**
@ -1412,9 +1415,11 @@ allocated:
*errp = 0; *errp = 0;
brelse(bitmap_bh); brelse(bitmap_bh);
dquot_free_block_nodirty(inode, *count-num); if (num < *count) {
mark_inode_dirty(inode); dquot_free_block_nodirty(inode, *count-num);
*count = num; mark_inode_dirty(inode);
*count = num;
}
return ret_block; return ret_block;
io_error: io_error: