From: Pavel Borzenkov <[email protected]>

Add separate "Command flags" section to make it clear which flags are
currently defined by the protocol.

Signed-off-by: Pavel Borzenkov <[email protected]>
Reviewed-by: Roman Kagan <[email protected]>
Signed-off-by: Denis V. Lunev <[email protected]>
CC: Wouter Verhelst <[email protected]>
CC: Alex Bligh <[email protected]>
Message-Id: <[email protected]>
[rearrange subsections to parallel Handshake phase, add more details]
Signed-off-by: Eric Blake <[email protected]>
---
 doc/proto.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/doc/proto.md b/doc/proto.md
index aaae0a2..3d49162 100644
--- a/doc/proto.md
+++ b/doc/proto.md
@@ -411,6 +411,20 @@ case that data is an error message suitable for display to 
the user.

 ### Transmission phase

+#### Command flags
+
+This field of 16 bits is sent by the client with every request and provides
+additional information to the server to execute the command. Refer to
+the "Request types" section below for more details about how a given flag
+affects a particular command.  Clients MUST NOT set a command flag bit
+that is not documented for the particular command; and whether a flag is
+valid may depend on negotiation during the handshake phase.
+
+- bit 0, `NBD_CMD_FLAG_FUA`; valid during `NBD_CMD_WRITE`.  SHOULD be
+  set to 1 if the client requires "Force Unit Access" mode of
+  operation.  MUST NOT be set unless export flags included
+  `NBD_FLAG_SEND_FUA`.
+
 #### Request types

 The following request types exist:
-- 
2.5.5


Reply via email to