Subject: Re: letting userland issue FUA writes
To: Christos Zoulas <email@example.com>
From: Bill Studenmund <firstname.lastname@example.org>
Date: 03/15/2006 16:44:59
Content-Type: text/plain; charset=us-ascii
On Thu, Mar 16, 2006 at 12:37:00AM +0000, Christos Zoulas wrote:
> In article <20060316003059.GG8438@netbsd.org>,
> Bill Studenmund <email@example.com> wrote:
> >On Wed, Mar 15, 2006 at 05:23:51PM +0100, Pavel Cahyna wrote:
> >> On Tue, Mar 14, 2006 at 06:35:46PM -0800, Bill Studenmund wrote:
> >> > I'm interested in adding infrastructure so that applications can iss=
> >> > writes that have the FUA (Force Unit Access) bit set. SCSI CDBs hand=
> >> > this, as do some RAID cards.
> >> >=20
> >> > The main question I have is what kind of user-level interfaces exist=
> >> > this? I certainly could cook up a new system call, but I would much =
> >> > use prior art. My simplistic attempt at googling for this failed. Do=
> >> > anyone else have suggestions?
> >> O_DSYNC is documented as: "each write will wait for the file data=20
> >> to be committed to stable storage."
> >> Is this semantics different from FUA?
> >Not really. However I really want a system call where I can request this=
> >on a per-call basis. Otherwise I have to have two open file descriptors,=
> >one with and one without this flag set. That seems kinda silly.
> Can't you use fcntl for this?
Per call? Also, having to set/clear the FUA mode before a call will=20
complicate concurrency; I must have a userlevel lock so that no operation=
gets between an fcntl() and its write().
If separate file descriptors are the only option, so be it. But I was=20
hoping for some other call API to help out.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
-----END PGP SIGNATURE-----