Re: [Nbd] [RESEND][PATCH 0/5] nbd improvements
From: Christoph Hellwig
Date: Thu Sep 15 2016 - 07:52:28 EST
On Thu, Sep 15, 2016 at 12:46:07PM +0100, Alex Bligh wrote:
> Essentially NBD does supports FLUSH/FUA like this:
>
> https://www.kernel.org/doc/Documentation/block/writeback_cache_control.txt
>
> IE supports the same FLUSH/FUA primitives as other block drivers (AIUI).
>
> Link to protocol (per last email) here:
>
> https://github.com/yoe/nbd/blob/master/doc/proto.md#ordering-of-messages-and-writes
Flush as defined by the Linux block layer (and supported that way in
SCSI, ATA, NVMe) only requires to flush all already completed writes
to non-volatile media. It does not impose any ordering unlike the
nbd spec.
FUA as defined by the Linux block layer (and supported that way in SCSI,
ATA, NVMe) only requires the write operation the FUA bit is set on to be
on non-volatile media before completing the write operation. It does
not impose any ordering, which seems to match the nbd spec. Unlike the
NBD spec Linux does not allow FUA to be set on anything by WRITE
commands. Some other storage protocols allow a FUA bit on READ
commands or other commands that write data to the device, though.