From: Amir Goldstein Date: Mon, 28 Feb 2011 04:32:12 +0000 (-0500) Subject: ext4: use the nblocks arg to ext4_truncate_restart_trans() X-Git-Tag: firefly_0821_release~7613^2~1801^2~16 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8e8eaabefee3ff645b9551ee32c6c54c7d80ad19;p=firefly-linux-kernel-4.4.55.git ext4: use the nblocks arg to ext4_truncate_restart_trans() 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 --- diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index dcc2287433b6..67e7a3caf9ed 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);