diff mbox

ext4: nblocks arg to ext4_truncate_restart_trans() is ignored

Message ID AANLkTikjhsA0ooZAkS4zhaMrFidOgpjuk54cTxu30Xb5@mail.gmail.com
State Accepted, archived
Headers show

Commit Message

Amir Goldstein Feb. 27, 2011, 9:54 a.m. UTC
nblocks is passed into ext4_truncate_restart_trans() from
ext4_ext_truncate_extend_restart() with a value different from the default
blocks_for_truncate(), but is being ignored.

The two other calls to ext4_truncate_restart_trans() already pass the
default value, which is then being recalculated inside the function.

Fix the problem by using the passed argument.

Signed-off-by: Amir Goldstein <amir73il@users.sf.net>
---
 fs/ext4/inode.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


--
1.7.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Theodore Ts'o Feb. 28, 2011, 4:41 a.m. UTC | #1
On Sun, Feb 27, 2011 at 11:54:28AM +0200, Amir Goldstein wrote:
> nblocks is passed into ext4_truncate_restart_trans() from
> ext4_ext_truncate_extend_restart() with a value different from the default
> blocks_for_truncate(), but is being ignored.
> 
> The two other calls to ext4_truncate_restart_trans() already pass the
> default value, which is then being recalculated inside the function.
> 
> Fix the problem by using the passed argument.
> 
> Signed-off-by: Amir Goldstein <amir73il@users.sf.net>

Thanks, added to the ext4 patch queue.

							- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 9f7f9e4..33b970c 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -173,7 +173,7 @@  int ext4_truncate_restart_trans(handle_t *handle,
struct inode *inode,
        BUG_ON(EXT4_JOURNAL(inode) == NULL);
        jbd_debug(2, "restarting handle %p\n", handle);
        up_write(&EXT4_I(inode)->i_data_sem);
-       ret = ext4_journal_restart(handle, blocks_for_truncate(inode));
+       ret = ext4_journal_restart(handle, nblocks);
        down_write(&EXT4_I(inode)->i_data_sem);
        ext4_discard_preallocations(inode);