xfs
[Top] [All Lists]

Re: Device loses barrier support (was: Fixed patch for simple barriers.)

To: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Subject: Re: Device loses barrier support (was: Fixed patch for simple barriers.)
From: Andi Kleen <andi@xxxxxxxxxxxxxx>
Date: Fri, 5 Dec 2008 04:09:38 +0100
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, Alasdair G Kergon <agk@xxxxxxxxxx>, Andi Kleen <andi-suse@xxxxxxxxxxxxxx>, Milan Broz <mbroz@xxxxxxxxxx>
In-reply-to: <Pine.LNX.4.64.0812042036540.25436@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20081204145810.GR6703@xxxxxxxxxxxxxxxxxx> <Pine.LNX.4.64.0812041139200.2434@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081204174838.GS6703@xxxxxxxxxxxxxxxxxx> <Pine.LNX.4.64.0812041401210.23079@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081204221551.GV6703@xxxxxxxxxxxxxxxxxx> <Pine.LNX.4.64.0812041756550.29638@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081205004849.GX6703@xxxxxxxxxxxxxxxxxx> <Pine.LNX.4.64.0812041948400.14114@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081205013739.GZ6703@xxxxxxxxxxxxxxxxxx> <Pine.LNX.4.64.0812042036540.25436@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.4.2.1i
> The only one offender is "md". 

I'm not sure. It wouldn't surprise me if it can happen with other setups
too. Perhaps Chris knows more.

> It is less overhead to change "md" to play 
> nice and be reliable than to double-submit requests in all the places that 
> needs write ordering.

They do that already anyways.

> 
> > > * the filesystems developed hacks to work around this issue, the hacks 
> > > involve not submitting more requests after the barrier request, 
> > 
> > I suspect the reason the file systems did it this way is that
> > it was a much simpler change than to rewrite the transaction
> > manager for this.
> 
> It could be initial reason. But this unreliability also disallows any 
> improvement in filesystems. No one can write asynchronous transaction 
> manager because of that evil EOPNOTSUPP.

Doesn't seem right. It would be a simple state machine
to handle it fully asynchronous. Alternatively you could
always use empty barriers.

But we can worry about that when some in tree file system
actually tries to do that.

-Andi

-- 
ak@xxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>