diff options
author | Amir Goldstein <amir73il@gmail.com> | 2011-02-27 23:32:12 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2011-02-27 23:32:12 -0500 |
commit | 8e8eaabefee3ff645b9551ee32c6c54c7d80ad19 (patch) | |
tree | 101f4a24a8f57f798a74eb097c424b882f872bf8 /fs/ext4 | |
parent | 32a9bb57d7c1fd04ae0f72b8f671501f000a0e9f (diff) | |
download | lwn-8e8eaabefee3ff645b9551ee32c6c54c7d80ad19.tar.gz lwn-8e8eaabefee3ff645b9551ee32c6c54c7d80ad19.zip |
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 <amir73il@users.sf.net>
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); |