[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH 1/2] doc: Update reserved values for pending extensions



The current state of the BLOCK_STATUS extension proposal no longer
consumes an NBD_FLAG_ bit, but does add a couple of NBD_OPT_ commands
and a new NBD_REP_ reply during handshake, as well as reserving a
new NBD_CMD_FLAG_ bit during transmission.

While at it, fix an inconsistent bullet in the list of NBD_REP.

The RESIZE extension proposal does not have to skip a bit number in
the NBD_FLAG_ namespace.

Signed-off-by: Eric Blake <eblake@redhat.com>
---
 doc/proto.md | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/doc/proto.md b/doc/proto.md
index 3233daa..481e04b 100644
--- a/doc/proto.md
+++ b/doc/proto.md
@@ -821,9 +821,7 @@ The field has the following format:
   to that command to the client. In the absense of this flag, clients
   SHOULD NOT multiplex their commands over more than one connection to
   the export.
-- bit 9, `NBD_FLAG_SEND_BLOCK_STATUS`: defined by the experimental
-  `BLOCK_STATUS` [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-blockstatus/doc/proto.md).
-- bit 10, `NBD_FLAG_SEND_RESIZE`: defined by the experimental `RESIZE`
+- bit 9, `NBD_FLAG_SEND_RESIZE`: defined by the experimental `RESIZE`
   [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-resize/doc/proto.md).

 Clients SHOULD ignore unknown flags.
@@ -1028,12 +1026,20 @@ of the newstyle negotiation.

     Defined by the experimental `STRUCTURED_REPLY` [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-structured-reply/doc/proto.md).

+- `NBD_OPT_LIST_META_CONTEXT` (9)
+
+    Defined by the experimental `BLOCK_STATUS` [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-blockstatus/doc/proto.md).
+
+- `NBD_OPT_SET_META_CONTEXT` (10)
+
+    Defined by the experimental `BLOCK_STATUS` [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-blockstatus/doc/proto.md).
+
 #### Option reply types

 These values are used in the "reply type" field, sent by the server
 during option haggling in the fixed newstyle negotiation.

-- `NBD_REP_ACK` (1)
+* `NBD_REP_ACK` (1)

     Will be sent by the server when it accepts the option and no further
     information is available, or when sending data related to the option
@@ -1140,6 +1146,10 @@ during option haggling in the fixed newstyle negotiation.
       - 32 bits, preferred block size  
       - 32 bits, maximum block size  

+* `NBD_REP_META_CONTEXT` (4)
+
+    Defined by the experimental `BLOCK_STATUS` [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-blockstatus/doc/proto.md).
+
 There are a number of error reply types, all of which are denoted by
 having bit 31 set. All error replies MAY have some data set, in which
 case that data is an error message string suitable for display to the user.
@@ -1194,6 +1204,10 @@ case that data is an error message string suitable for display to the user.
     `NBD_INFO_BLOCK_SIZE`) that it will obey non-default block sizing
     requirements.

+* `NBD_REP_ERR_TOO_BIG` (2^31 + 9)
+
+    Defined by the experimental `BLOCK_STATUS` [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-blockstatus/doc/proto.md).
+
 ### Transmission phase

 #### Command flags
@@ -1229,7 +1243,7 @@ valid may depend on negotiation during the handshake phase.
   `NBD_FLAG_SEND_WRITE_ZEROES`.
 - bit 2, `NBD_CMD_FLAG_DF`; defined by the experimental `STRUCTURED_REPLY`
   [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-structured-reply/doc/proto.md).
-
+- bit 3, `NBD_CMD_FLAG_REQ_ONE`; defined by the experimental `BLOCK_STATUS` [extension](https://github.com/NetworkBlockDevice/nbd/blob/extension-blockstatus/doc/proto.md).

 #### Request types

-- 
2.13.6


Reply to: