All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@suse.de>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>, xen-devel@lists.xensource.com
Subject: Re: [patch] Add support for barriers to blk{back,front} drivers.
Date: Thu, 09 Nov 2006 13:48:49 +0100	[thread overview]
Message-ID: <455323B1.8050305@suse.de> (raw)
In-Reply-To: <C1789EC9.40F2%Keir.Fraser@cl.cam.ac.uk>

Keir Fraser wrote:
> What happens (even on native Linux) if you have, say, a RAID array in which
> some of the discs support barriers and others don't?

The raid0 driver doesn't support barriers in the first place.  Not sure
about the other raid drivers.

> Or you have a RAID-0 set, so that some barrier
> writes can succeed and others can't:

I think that can never ever happen.  To maintain correct barrier
semantics for the complete raid0 it is not enough to simply pass down
the barrier request to the disk which happens to hold the block in
question.  You have to somehow synchronize the disks as well.

> must the filesystem handle
> barrier_write failures at any time?

The linux filesystems do.  The usual way to handle the error is to
submit the request again as normal request and turn off the barrier flag
so the filesystem driver wouldn't use barrier requests again (and enter
fallback mode).  It doesn't matter whenever that happens on the very
first or any subsequent barrier write request.

As far I know barriers are always a all-or-nothing thingy.  Either they
work or they don't.  Only problem is that there is no reliable way to
figure without actually submitting a barrier request.  I don't like it
that much either, but the existing hardware forces us to handle it that
way.  Life sucks sometimes ...

cheers,
  Gerd

-- 
Gerd Hoffmann <kraxel@suse.de>
http://www.suse.de/~kraxel/julika-dora.jpeg

  reply	other threads:[~2006-11-09 12:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-30 12:15 [patch] Add support for barriers to blk{back, front} drivers Ian Pratt
2006-10-30 12:43 ` [patch] Add support for barriers to blk{back,front} drivers Gerd Hoffmann
2006-11-08 15:38   ` Gerd Hoffmann
2006-11-09  1:04     ` [patch] Add support for barriers to blk{back, front} drivers Ian Pratt
2006-11-09  1:15       ` John Levon
2006-11-09  9:00     ` [patch] Add support for barriers to blk{back,front} drivers Keir Fraser
2006-11-09 12:48       ` Gerd Hoffmann [this message]
2006-11-09 13:47         ` Keir Fraser
2006-11-09 14:15           ` Gerd Hoffmann
  -- strict thread matches above, loose matches on Subject: below --
2006-10-27 13:46 [patch] Add support for barriers to blk{back, front} drivers Ian Pratt
2006-10-30  8:21 ` [patch] Add support for barriers to blk{back,front} drivers Gerd Hoffmann
2006-10-23 11:42 [patch] Add support for barriers to blk{back, front} drivers Ian Pratt
2006-10-23 12:27 ` [patch] Add support for barriers to blk{back,front} drivers Gerd Hoffmann
2006-10-25 16:52   ` Gerd Hoffmann
2006-10-20  8:38 [patch] Add support for barriers to blk{back, front} drivers kraxel
2006-10-20 20:35 ` Ian Pratt

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=455323B1.8050305@suse.de \
    --to=kraxel@suse.de \
    --cc=Keir.Fraser@cl.cam.ac.uk \
    --cc=m+Ian.Pratt@cl.cam.ac.uk \
    --cc=xen-devel@lists.xensource.com \
    /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.