diff options
Diffstat (limited to 'fs/ext2/xattr.c')
-rw-r--r-- | fs/ext2/xattr.c | 12 |
1 files changed, 8 insertions, 4 deletions
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 | ||