]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ext3: Don't call dquot_free_block() if we don't update anything
authorKazuya Mio <k-mio@sx.jp.nec.com>
Mon, 30 Jan 2012 08:41:25 +0000 (17:41 +0900)
committerJan Kara <jack@suse.cz>
Wed, 29 Feb 2012 20:53:46 +0000 (21:53 +0100)
dquot_free_block() is called in the end of ext3_new_blocks() and updates
information of the inode structure. However, this update is not necessary
if the number of blocks we requested is equal to the number of
allocated blocks.

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext3/balloc.c

index a2038928f9a34b060abe6534958a830f85bd372f..954a7d355f59305f034c0787bae014ca6c8580aa 100644 (file)
@@ -1743,8 +1743,11 @@ allocated:
 
        *errp = 0;
        brelse(bitmap_bh);
-       dquot_free_block(inode, *count-num);
-       *count = num;
+
+       if (num < *count) {
+               dquot_free_block(inode, *count-num);
+               *count = num;
+       }
 
        trace_ext3_allocate_blocks(inode, goal, num,
                                   (unsigned long long)ret_block);