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:
parent
98783e453c
commit
8e3dffc651
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue