[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-ide
Subject:    Re: [PATCH 24.5/30] jbd2: Modify ASYNC_COMMIT code to not rely on
From:       Sergei Shtylyov <sshtylyov () mvista ! com>
Date:       2010-08-26 9:33:27
Message-ID: 4C7634E7.4010701 () mvista ! com
[Download RAW message or body]

Hello.

Tejun Heo wrote:

> From 49f4cef00a1bd3c79fb2fe1f982c5157f0792867 Mon Sep 17 00:00:00 2001
> From: Jan Kara <jack@suse.cz>

> Currently JBD2 relies blkdev_issue_flush() draining the queue when ASYNC_COMMIT
> feature is set. This property is going away so make JBD2 wait for buffers it
> needs on its own before submitting the cache flush.

> Signed-off-by: Jan Kara <jack@suse.cz>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> ---
> This patch is necessary before enabling flush/fua support in jbd2.
> The flush-fua git tree has been udpated to included this between patch
> 24 and 25.

> Thanks.

>  fs/jbd2/commit.c |   29 ++++++++++++++++-------------
>  1 files changed, 16 insertions(+), 13 deletions(-)

> diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
> index 7c068c1..8797fd1 100644
> --- a/fs/jbd2/commit.c
> +++ b/fs/jbd2/commit.c
[...]
> @@ -845,6 +842,12 @@ wait_for_iobuf:
>  	}
>  	if (!err && !is_journal_aborted(journal))
>  		err = journal_wait_on_commit_record(journal, cbh);
> +	if (JBD2_HAS_INCOMPAT_FEATURE(journal,
> +				      JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT) &&
> +	    journal->j_flags & JBD2_BARRIER) {
> +			blkdev_issue_flush(journal->j_dev, GFP_KERNEL, NULL,

    Overindented line.

> +				BLKDEV_IFL_WAIT);
> +	}
> 
>  	if (err)
>  		jbd2_journal_abort(journal, err);

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic