From: David Chinner <dgc@sgi.com>
To: Neil Brown <neilb@suse.de>
Cc: Timothy Shimmin <tes@sgi.com>, xfs@oss.sgi.com
Subject: Re: XFS and write barriers.
Date: Sun, 25 Mar 2007 14:19:27 +1100 [thread overview]
Message-ID: <20070325031927.GG32602149@melbourne.sgi.com> (raw)
In-Reply-To: <17923.35118.139991.252734@notabene.brown>
On Fri, Mar 23, 2007 at 07:00:46PM +1100, Neil Brown wrote:
> On Friday March 23, tes@sgi.com wrote:
> > >
> > > I think this test should just be removed and the xfs_barrier_test
> > > should be the main mechanism for seeing if barriers work.
> > >
> > Oh okay.
> > This is all Christoph's (hch) code, so it would be good for him to comment here.
> > The external log and readonly tests can stay though.
> >
>
> Why no barriers on an external log device??? Not important, just
> curious.
because we need to synchronize across 2 devices, not one, so issuing
barriers on an external log device does nothing to order the metadata
written to the other device...
> > > This is particularly important for md/raid1 as it is quite possible
> > > that barriers will be supported at first, but after a failure and
> > > different device on a different controller could be swapped in that
> > > does not support barriers.
> > >
> >
> > Oh okay, I see. And then later one that supported them can be swapped back in?
> > So the other FSs are doing a sync'ed write out and then if there is an
> > EOPNOTSUPP they retry and disable barrier support henceforth?
> > Yeah, I guess we could do that in xlog_iodone() on failed completion and retry the write without
> > the ORDERED flag on EOPNOTSUPP error case (and turn off the flag).
> > Dave (dgc) can you see a problem with that?
>
> If an md/raid1 disables barriers and subsequently is restored to a
> state where all drives support barriers, it currently does *not*
> re-enable them device-wide. This would probably be quite easy to
> achieve, but as no existing filesystem would ever try barriers
> again.....
And this is exactly why I think we need a block->fs communications
channel for these sorts of things. Think of something like the CPU
hotplug notifier mechanisms as a rough example framework....
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
next prev parent reply other threads:[~2007-03-25 3:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-23 1:26 XFS and write barriers Neil Brown
2007-03-23 5:30 ` David Chinner
2007-03-23 7:49 ` Neil Brown
2007-03-25 4:17 ` David Chinner
2007-03-25 23:21 ` Neil Brown
2007-03-26 3:14 ` David Chinner
2007-03-26 4:27 ` Neil Brown
2007-03-26 9:04 ` David Chinner
2007-03-29 14:56 ` Martin Steigerwald
2007-03-29 15:18 ` David Chinner
2007-03-29 16:49 ` Martin Steigerwald
2007-03-23 9:50 ` Christoph Hellwig
2007-03-25 3:51 ` David Chinner
2007-03-25 23:58 ` Neil Brown
2007-03-26 1:11 ` Neil Brown
2007-03-23 6:20 ` Timothy Shimmin
2007-03-23 8:00 ` Neil Brown
2007-03-25 3:19 ` David Chinner [this message]
2007-03-26 0:01 ` Neil Brown
2007-03-26 3:58 ` David Chinner
2007-03-27 3:58 ` Timothy Shimmin
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=20070325031927.GG32602149@melbourne.sgi.com \
--to=dgc@sgi.com \
--cc=neilb@suse.de \
--cc=tes@sgi.com \
--cc=xfs@oss.sgi.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.