Message ID | 1234884762-13580-20-git-send-email-tytso@mit.edu |
---|---|
State | Not Applicable, archived |
Headers | show |
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 8d7f8a1..775ef32 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -4538,7 +4538,7 @@ ext4_fsblk_t ext4_mb_new_blocks(handle_t *handle, } if (ar->len == 0) { *errp = -EDQUOT; - return 0; + goto out3; } inquota = ar->len; @@ -4611,6 +4611,13 @@ out2: out1: if (ar->len < inquota) DQUOT_FREE_BLOCK(ar->inode, inquota - ar->len); +out3: + if (!ar->len) { + if (!EXT4_I(ar->inode)->i_delalloc_reserved_flag) + /* release all the reserved blocks if non delalloc */ + percpu_counter_sub(&sbi->s_dirtyblocks_counter, + reserv_blks); + } return block; }