On Fri, Apr 01, 2016 at 10:28:03AM +0100, Alex Bligh wrote: > > On 1 Apr 2016, at 09:35, Wouter Verhelst <w...@uter.be> wrote: > > >> +* All write commands (that includes both `NBD_CMD_WRITE` and > >> + `NBD_CMD_TRIM`) that the server completes (i.e. replies to) > >> + prior to processing to a `NBD_CMD_FLUSH` MUST be written to non-volatile > >> + storage prior to replying to that `NBD_CMD_FLUSH`. The server SHOULD > >> ensure > >> + that all write command received prior to processing the `NBD_CMD_FLUSH` > >> + (whether they are replied to or not) are written to non-volatile > >> + storage prior to processing an `NBD_CMD_FLUSH`; note this is a > >> + stronger condition than the previous 'MUST' condition. This > > > > This seems to make little sense. Are you saying that suddenly now > > sending a reply for FLUSH with outstanding writes is wrong? If not, the > > above should be clarified. > > The MUST sentence does not cover that situation as it only refers > to completed writes. > > The SHOULD sentence says that's a 'SHOULD NOT' situation in respect > of writes that have PROCESSED (i.e actioned) whether or not they > have been replied to. Of course the client has no way of knowing > whether they have been PROCESSED without a reply. > > Personally I think the SHOULD clause is pretty pointless and is > unnecessary, but that's where the conversation got to n years > ago I believe.
I'm still not sure what it's supposed to mean, though. Clearly, you should at the very least reword it, if not... > Happy to delete the last sentence if that's wrong. ... remove it instead. -- < ron> I mean, the main *practical* problem with C++, is there's like a dozen people in the world who think they really understand all of its rules, and pretty much all of them are just lying to themselves too. -- #debian-devel, OFTC, 2016-02-12