ext3: Fix writepage credits computation for ordered mode
Yongqiang Yang [Thu, 24 Mar 2011 00:48:39 +0000 (08:48 +0800)]
Original computation forgets to count writes of indirect block themselves
(it only counts with blocks necessary for their allocation) in ordered mode.

Acked-by: Amir Goldstein <amir73il@users.sf.net>
Signed-off-by:Yongqiang Yang <xiaoqiangnk@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>

fs/ext3/inode.c

index ae94f6d..7f5db46 100644 (file)
@@ -3294,7 +3294,7 @@ static int ext3_writepage_trans_blocks(struct inode *inode)
        if (ext3_should_journal_data(inode))
                ret = 3 * (bpp + indirects) + 2;
        else
-               ret = 2 * (bpp + indirects) + 2;
+               ret = 2 * (bpp + indirects) + indirects + 2;
 
 #ifdef CONFIG_QUOTA
        /* We know that structure was already allocated during dquot_initialize so