All of lore.kernel.org
 help / color / mirror / Atom feed
From: Akira Fujita <a-fujita@rs.jp.nec.com>
To: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH] ext4: defragmentation code cleanup
Date: Wed, 10 Apr 2013 15:43:09 +0900	[thread overview]
Message-ID: <516509FD.7060209@rs.jp.nec.com> (raw)
In-Reply-To: <1365520559-6622-1-git-send-email-dmonakhov@openvz.org>

Hi,

(2013/04/10 0:15), Dmitry Monakhov wrote:
> - grab_cache_page_write_begin() may not wait on page's writeback since
>    (1d1d1a767206). But it is still reasonable to wait on page's writeback
>    here in order to be on the safe side.
> 
> - Fix miss typo: pass 'length' instead of 'end' to __block_write_begin()
>    https://bugzilla.kernel.org/show_bug.cgi?id=56241

Looks good to me, thanks.

Reviewed-by: Akira Fujita <a-fujita.rs.jp.nec.com>
 
> TESTCASE: git://oss.sgi.com/xfs/cmds/xfstests.git
> MKFS_OPTIONS="-b1024" ; ./check ext4/304
> 
> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
> ---
>   fs/ext4/move_extent.c |   11 +++++++++--
>   1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
> index 33e1c08..58b33e9 100644
> --- a/fs/ext4/move_extent.c
> +++ b/fs/ext4/move_extent.c
> @@ -737,6 +737,7 @@ mext_replace_branches(handle_t *handle, struct inode *orig_inode,
>   		donor_off += dext_alen;
>   		orig_off += dext_alen;
>   
> +		BUG_ON(replaced_count > count);
>   		/* Already moved the expected blocks */
>   		if (replaced_count >= count)
>   			break;
> @@ -814,7 +815,13 @@ mext_page_double_lock(struct inode *inode1, struct inode *inode2,
>   		page_cache_release(page[0]);
>   		return -ENOMEM;
>   	}
> -
> +	/*
> +	 * grab_cache_page_write_begin() may not wait on page's writeback if
> +	 * BDI not demand that. But it is reasonable to be very conservative
> +	 * here and explicitly wait on page's writeback
> +	 */
> +	wait_on_page_writeback(page[0]);
> +	wait_on_page_writeback(page[1]);
>   	if (inode1 > inode2) {
>   		struct page *tmp;
>   		tmp = page[0];
> @@ -1033,7 +1040,7 @@ data_copy:
>   	}
>   	/* Perform all necessary steps similar write_begin()/write_end()
>   	 * but keeping in mind that i_size will not change */
> -	*err = __block_write_begin(pagep[0], from, from + replaced_size,
> +	*err = __block_write_begin(pagep[0], from, replaced_size,
>   				   ext4_get_block);
>   	if (!*err)
>   		*err = block_commit_write(pagep[0], from, from + replaced_size);
> 



  reply	other threads:[~2013-04-10  6:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-09 15:15 [PATCH] ext4: defragmentation code cleanup Dmitry Monakhov
2013-04-10  6:43 ` Akira Fujita [this message]
2013-04-12  3:33   ` Theodore Ts'o

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=516509FD.7060209@rs.jp.nec.com \
    --to=a-fujita@rs.jp.nec.com \
    --cc=dmonakhov@openvz.org \
    --cc=linux-ext4@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.