From: Jens Axboe <jens.axboe@oracle.com>
To: Neil Brown <neilb@suse.de>
Cc: Ken Milmore <ken.milmore@googlemail.com>,
linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org,
dm-devel@redhat.com
Subject: Re: Write barriers on MD RAID1
Date: Wed, 24 Jun 2009 09:38:50 +0200 [thread overview]
Message-ID: <20090624073849.GG31415@kernel.dk> (raw)
In-Reply-To: <19009.41191.662901.179565@notabene.brown>
On Wed, Jun 24 2009, Neil Brown wrote:
> On Sunday June 21, ken.milmore@googlemail.com wrote:
> > I thought I had better bump my previous post as this regression is still
> > present in 2.6.29.5.
>
> Thanks Ken.
>
> >
> > To recap, commit cec0707e40ae25794b5a2de7b7f03c51961f80d9 has broken
> > write barriers on md raid1 block devices in 2.6.29 and later kernels.
> > Reversing this commit appears to fix the problem.
> >
> > Please let me know if I'm harassing the wrong maintainers here!
>
> Jens,
> have you had a chance to look at this?
Yeah, I think it's the right way to go. I'll queue it up for .31 and we
should put in in -stable as well.
>
> I think the following patch is appropriate and should go in to
> -stable.
>
> Thanks,
> NeilBrown
>
>
> From addd8b129835a63d6df9a38eae20caaa15de5988 Mon Sep 17 00:00:00 2001
> From: NeilBrown <neilb@suse.de>
> Date: Wed, 24 Jun 2009 13:39:15 +1000
> Subject: [PATCH] Restore barrier support for md and probably other virtual devices.
>
> The next_ordered flag is only meaningful for devices that use __make_request.
> So move the test against next_ordered out of generic code and in to
> __make_request
>
> Since this test was added, barriers have not worked on md, and (I
> think) dm and similar devices that don't use __make_request and so
> don't bother to set next_ordered.
>
> Cc: stable@kernel.org
> Cc: Ken Milmore <ken.milmore@googlemail.com>
> Signed-off-by: NeilBrown <neilb@suse.de>
> ---
> block/blk-core.c | 10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/block/blk-core.c b/block/blk-core.c
> index b06cf5c..fc221aa 100644
> --- a/block/blk-core.c
> +++ b/block/blk-core.c
> @@ -1172,6 +1172,11 @@ static int __make_request(struct request_queue *q, struct bio *bio)
> const int unplug = bio_unplug(bio);
> int rw_flags;
>
> + if (bio_barrier(bio) && bio_has_data(bio) &&
> + (q->next_ordered == QUEUE_ORDERED_NONE)) {
> + bio_endio(bio, -EOPNOTSUPP)
> + return 0;
> + }
> /*
> * low level driver can indicate that it wants pages above a
> * certain limit bounced to low memory (ie for highmem, or even
> @@ -1472,11 +1477,6 @@ static inline void __generic_make_request(struct bio *bio)
> err = -EOPNOTSUPP;
> goto end_io;
> }
> - if (bio_barrier(bio) && bio_has_data(bio) &&
> - (q->next_ordered == QUEUE_ORDERED_NONE)) {
> - err = -EOPNOTSUPP;
> - goto end_io;
> - }
>
> ret = q->make_request_fn(q, bio);
> } while (ret);
> --
> 1.6.3.1
>
--
Jens Axboe
next prev parent reply other threads:[~2009-06-24 7:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-23 23:54 Write barriers on MD RAID1 Ken Milmore
2009-05-24 1:51 ` NeilBrown
2009-06-21 13:57 ` Ken Milmore
2009-06-24 3:43 ` Neil Brown
2009-06-24 3:43 ` Neil Brown
2009-06-24 7:09 ` Alasdair G Kergon
2009-06-24 7:09 ` [dm-devel] " Alasdair G Kergon
2009-06-24 7:34 ` NeilBrown
2009-06-24 7:34 ` [dm-devel] " NeilBrown
2009-06-24 7:38 ` Jens Axboe [this message]
2009-06-24 9:28 ` Neil Brown
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=20090624073849.GG31415@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=dm-devel@redhat.com \
--cc=ken.milmore@googlemail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
/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.