From c64553fbb767c37902af1dfa327291ed3f4f9acf Mon Sep 17 00:00:00 2001 From: Kazuya Mio Date: Tue, 24 Nov 2009 10:28:48 -0500 Subject: [PATCH] --- yaml --- r: 174390 b: refs/heads/master c: 446aaa6e7e993b38a6f21c6acfa68f3f1af3dbe3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ext4/ioctl.c | 1 + trunk/fs/ext4/move_extent.c | 14 +++----------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index f8b62f8a17ef..ec97bdd26c96 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 94d7c16cbbbd0e03841fcf272bcaf0620ad39618 +refs/heads/master: 446aaa6e7e993b38a6f21c6acfa68f3f1af3dbe3 diff --git a/trunk/fs/ext4/ioctl.c b/trunk/fs/ext4/ioctl.c index c1cdf613e725..31e5ee0c858f 100644 --- a/trunk/fs/ext4/ioctl.c +++ b/trunk/fs/ext4/ioctl.c @@ -239,6 +239,7 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) } } + me.moved_len = 0; err = ext4_move_extents(filp, donor_filp, me.orig_start, me.donor_start, me.len, &me.moved_len); fput(donor_filp); diff --git a/trunk/fs/ext4/move_extent.c b/trunk/fs/ext4/move_extent.c index 3478889e00b3..445ecd7616a6 100644 --- a/trunk/fs/ext4/move_extent.c +++ b/trunk/fs/ext4/move_extent.c @@ -947,7 +947,6 @@ move_extent_per_page(struct file *o_filp, struct inode *donor_inode, * @orig_start: logical start offset in block for orig * @donor_start: logical start offset in block for donor * @len: the number of blocks to be moved - * @moved_len: moved block length * * Check the arguments of ext4_move_extents() whether the files can be * exchanged with each other. @@ -955,8 +954,8 @@ move_extent_per_page(struct file *o_filp, struct inode *donor_inode, */ static int mext_check_arguments(struct inode *orig_inode, - struct inode *donor_inode, __u64 orig_start, - __u64 donor_start, __u64 *len, __u64 moved_len) + struct inode *donor_inode, __u64 orig_start, + __u64 donor_start, __u64 *len) { ext4_lblk_t orig_blocks, donor_blocks; unsigned int blkbits = orig_inode->i_blkbits; @@ -1010,13 +1009,6 @@ mext_check_arguments(struct inode *orig_inode, return -EINVAL; } - if (moved_len) { - ext4_debug("ext4 move extent: moved_len should be 0 " - "[ino:orig %lu, donor %lu]\n", orig_inode->i_ino, - donor_inode->i_ino); - return -EINVAL; - } - if ((orig_start > EXT_MAX_BLOCK) || (donor_start > EXT_MAX_BLOCK) || (*len > EXT_MAX_BLOCK) || @@ -1226,7 +1218,7 @@ ext4_move_extents(struct file *o_filp, struct file *d_filp, double_down_write_data_sem(orig_inode, donor_inode); /* Check the filesystem environment whether move_extent can be done */ ret1 = mext_check_arguments(orig_inode, donor_inode, orig_start, - donor_start, &len, *moved_len); + donor_start, &len); if (ret1) goto out;