[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0903251106520.27750@hs20-bc2-1.build.redhat.com>
Date: Wed, 25 Mar 2009 11:15:14 -0400 (EDT)
From: Mikulas Patocka <mpatocka@...hat.com>
To: Jens Axboe <jens.axboe@...cle.com>
cc: device-mapper development <dm-devel@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andi Kleen <ak@...e.de>,
"MASON, CHRISTOPHER" <CHRIS.MASON@...cle.com>
Subject: Re: [dm-devel] Barriers still not passing on simple dm devices...
> > > Over time we should have support everywhere, but it needs to be checked,
> > > audited, and trusted.
> >
> > BTW. What is the rule for barriers if the device can't prevent the
> > requests from being delayed or reordered? (for example ATA<=3 disks with
> > cache that lack cache-flush command ... or flash cards that do
> > write-caching anyway and it can't be turned off). Should they support
> > barriers and try to make best effort? Or should they reject barriers to
> > inform the caller code that they have no data consistency?
>
> If they can't flush cache, then they must reject barriers unless they
> have write through caching.
... and you suppose that journaled filesystems will use this error and
mark filesystem for fsck if they are running over a device that doesn't
support consistency?
In theory it would be nice, in practice it doesn't work this way because
many devices *DO* support data consistency don't support barriers (the
most common are DM and MD when run over disk without write cache).
So I think there should be flag (this device does/doesn't support data
consistency) that the journaled filesystems can use to mark the disk dirty
for fsck. And if you implement this flag, you can accept barriers always
to all kind of devices regardless of whether they support consistency. You
can then get rid of that -EOPNOTSUPP and simplify filesystem code because
they'd no longer need two commit paths and a clumsy way to restart
-EOPNOTSUPPed requests.
Mikulas
> --
> Jens Axboe
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists