summary refs log tree commit diff
path: root/fs/ext4/move_extent.c
diff options
context:
space:
mode:
authorRoss Zwisler <zwisler@chromium.org>2019-06-20 17:26:26 -0400
committerTheodore Ts'o <tytso@mit.edu>2019-06-20 17:26:26 -0400
commit73131fbb003b3691cfcf9656f234b00da497fcd6 (patch)
treedaf7dce0e7e47ada9f9d44d8768863233e3d3a2b /fs/ext4/move_extent.c
parent6ba0e7dc64a5adcda2fbe65adc466891795d639e (diff)
downloadlinux-73131fbb003b3691cfcf9656f234b00da497fcd6.tar.gz
ext4: use jbd2_inode dirty range scoping
Use the newly introduced jbd2_inode dirty range scoping to prevent us
from waiting forever when trying to complete a journal transaction.

Signed-off-by: Ross Zwisler <zwisler@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/ext4/move_extent.c')
-rw-r--r--fs/ext4/move_extent.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
index 3ec9627c9713..30ce3dc69378 100644
--- a/fs/ext4/move_extent.c
+++ b/fs/ext4/move_extent.c
@@ -390,7 +390,8 @@ data_copy:
 
 	/* Even in case of data=writeback it is reasonable to pin
 	 * inode to transaction, to prevent unexpected data loss */
-	*err = ext4_jbd2_inode_add_write(handle, orig_inode);
+	*err = ext4_jbd2_inode_add_write(handle, orig_inode,
+			(loff_t)orig_page_offset << PAGE_SHIFT, replaced_size);
 
 unlock_pages:
 	unlock_page(pagep[0]);