2011-01-26 09:30:57

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH 1/3] block: Create sysfs knobs to override FLUSH/FUA support flags

On Tue, Jan 25, 2011 at 11:16:26PM -0800, Darrick J. Wong wrote:
> This patch is the first in a series to refactor the barrier= mount options out
> of the filesystem code. This patch adds sysfs knobs to disable flush and FUA;
> of course, the automatic default is the safe choice, i.e. to leave them
> enabled. Obviously, only a seasoned administrator should ever be overriding
> the defaults.

Hmmm... wouldn't it be better to just export flush and fua instead of
ignore_*? So that the admin can turn things on and off as [s]he seems
fit? Also, it might be better to export them in a single attribute,
say cache_control or something. Only subset of the combinations make
sense anyway - none, flush, flush_fua.

Thanks.

--
tejun


2011-01-26 17:01:41

by djwong

[permalink] [raw]
Subject: Re: [PATCH 1/3] block: Create sysfs knobs to override FLUSH/FUA support flags

On Wed, Jan 26, 2011 at 10:30:51AM +0100, Tejun Heo wrote:
> On Tue, Jan 25, 2011 at 11:16:26PM -0800, Darrick J. Wong wrote:
> > This patch is the first in a series to refactor the barrier= mount options out
> > of the filesystem code. This patch adds sysfs knobs to disable flush and FUA;
> > of course, the automatic default is the safe choice, i.e. to leave them
> > enabled. Obviously, only a seasoned administrator should ever be overriding
> > the defaults.
>
> Hmmm... wouldn't it be better to just export flush and fua instead of
> ignore_*? So that the admin can turn things on and off as [s]he seems

I considered having a general knob to override the automatic FLUSH/FUA
detection, but I thought that it wasn't a good idea to provide a mechanism to
enable features that devices don't advertise. Mostly I was imagining horror
scenarios like USB storage devices that claim no write cache and but then catch
on fire if someone sends flush anyway. Not using advertised features seemed
less risky.

> fit? Also, it might be better to export them in a single attribute,
> say cache_control or something. Only subset of the combinations make
> sense anyway - none, flush, flush_fua.

I agree. It could be simplified even further to a simple boolean that means
"use neither" or "use whatever's supported".

--D