diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-07-21 17:13:36 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-08-09 16:47:54 -0400 |
commit | 3889717d2851bf38015c0b291026c07c02264623 (patch) | |
tree | 730ce868c322caabfb550cae816c30d210f9d8be | |
parent | 5ccb4a78d8c0e27985afec32cc4894d48e7b876e (diff) |
ext2: switch to dquot_free_block_nodirty()
brute-force conversion
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/ext2/balloc.c | 12 | ||||
-rw-r--r-- | fs/ext2/xattr.c | 12 |
2 files changed, 16 insertions, 8 deletions
diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index e8766a396776..db69c1206f13 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c | |||
@@ -571,7 +571,8 @@ do_more: | |||
571 | error_return: | 571 | error_return: |
572 | brelse(bitmap_bh); | 572 | brelse(bitmap_bh); |
573 | release_blocks(sb, freed); | 573 | release_blocks(sb, freed); |
574 | dquot_free_block(inode, freed); | 574 | dquot_free_block_nodirty(inode, freed); |
575 | mark_inode_dirty(inode); | ||
575 | } | 576 | } |
576 | 577 | ||
577 | /** | 578 | /** |
@@ -1418,7 +1419,8 @@ allocated: | |||
1418 | 1419 | ||
1419 | *errp = 0; | 1420 | *errp = 0; |
1420 | brelse(bitmap_bh); | 1421 | brelse(bitmap_bh); |
1421 | dquot_free_block(inode, *count-num); | 1422 | dquot_free_block_nodirty(inode, *count-num); |
1423 | mark_inode_dirty(inode); | ||
1422 | *count = num; | 1424 | *count = num; |
1423 | return ret_block; | 1425 | return ret_block; |
1424 | 1426 | ||
@@ -1428,8 +1430,10 @@ out: | |||
1428 | /* | 1430 | /* |
1429 | * Undo the block allocation | 1431 | * Undo the block allocation |
1430 | */ | 1432 | */ |
1431 | if (!performed_allocation) | 1433 | if (!performed_allocation) { |
1432 | dquot_free_block(inode, *count); | 1434 | dquot_free_block_nodirty(inode, *count); |
1435 | mark_inode_dirty(inode); | ||
1436 | } | ||
1433 | brelse(bitmap_bh); | 1437 | brelse(bitmap_bh); |
1434 | return 0; | 1438 | return 0; |
1435 | } | 1439 | } |
diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c index 7c3915780b19..0fa24e814d8a 100644 --- a/fs/ext2/xattr.c +++ b/fs/ext2/xattr.c | |||
@@ -703,8 +703,10 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, | |||
703 | * written (only some dirty data were not) so we just proceed | 703 | * written (only some dirty data were not) so we just proceed |
704 | * as if nothing happened and cleanup the unused block */ | 704 | * as if nothing happened and cleanup the unused block */ |
705 | if (error && error != -ENOSPC) { | 705 | if (error && error != -ENOSPC) { |
706 | if (new_bh && new_bh != old_bh) | 706 | if (new_bh && new_bh != old_bh) { |
707 | dquot_free_block(inode, 1); | 707 | dquot_free_block_nodirty(inode, 1); |
708 | mark_inode_dirty(inode); | ||
709 | } | ||
708 | goto cleanup; | 710 | goto cleanup; |
709 | } | 711 | } |
710 | } else | 712 | } else |
@@ -736,7 +738,8 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, | |||
736 | le32_add_cpu(&HDR(old_bh)->h_refcount, -1); | 738 | le32_add_cpu(&HDR(old_bh)->h_refcount, -1); |
737 | if (ce) | 739 | if (ce) |
738 | mb_cache_entry_release(ce); | 740 | mb_cache_entry_release(ce); |
739 | dquot_free_block(inode, 1); | 741 | dquot_free_block_nodirty(inode, 1); |
742 | mark_inode_dirty(inode); | ||
740 | mark_buffer_dirty(old_bh); | 743 | mark_buffer_dirty(old_bh); |
741 | ea_bdebug(old_bh, "refcount now=%d", | 744 | ea_bdebug(old_bh, "refcount now=%d", |
742 | le32_to_cpu(HDR(old_bh)->h_refcount)); | 745 | le32_to_cpu(HDR(old_bh)->h_refcount)); |
@@ -799,7 +802,8 @@ ext2_xattr_delete_inode(struct inode *inode) | |||
799 | mark_buffer_dirty(bh); | 802 | mark_buffer_dirty(bh); |
800 | if (IS_SYNC(inode)) | 803 | if (IS_SYNC(inode)) |
801 | sync_dirty_buffer(bh); | 804 | sync_dirty_buffer(bh); |
802 | dquot_free_block(inode, 1); | 805 | dquot_free_block_nodirty(inode, 1); |
806 | mark_inode_dirty(inode); | ||
803 | } | 807 | } |
804 | EXT2_I(inode)->i_file_acl = 0; | 808 | EXT2_I(inode)->i_file_acl = 0; |
805 | 809 | ||