From f5076b5a759cb9b25ab377bbad453801db78a43e Mon Sep 17 00:00:00 2001 From: Hani Benhabiles Date: Sat, 7 Jun 2014 01:32:31 +0100 Subject: nbd: Handle fixed new-style clients. When this flag is set, the server tells the client that it can send another option if the server received a request with an option that it doesn't understand instead of directly closing the connection. Also add link to the most up-to-date documentation. Signed-off-by: Hani Benhabiles Signed-off-by: Paolo Bonzini --- include/block/nbd.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/block/nbd.h b/include/block/nbd.h index 79502a0..561b70c 100644 --- a/include/block/nbd.h +++ b/include/block/nbd.h @@ -45,6 +45,15 @@ struct nbd_reply { #define NBD_FLAG_ROTATIONAL (1 << 4) /* Use elevator algorithm - rotational media */ #define NBD_FLAG_SEND_TRIM (1 << 5) /* Send TRIM (discard) */ +/* New-style global flags. */ +#define NBD_FLAG_FIXED_NEWSTYLE (1 << 0) /* Fixed newstyle protocol. */ + +/* New-style client flags. */ +#define NBD_FLAG_C_FIXED_NEWSTYLE (1 << 0) /* Fixed newstyle protocol. */ + +/* Reply types. */ +#define NBD_REP_ERR_UNSUP ((1 << 31) | 1) /* Unknown option. */ + #define NBD_CMD_MASK_COMMAND 0x0000ffff #define NBD_CMD_FLAG_FUA (1 << 16) -- cgit v1.1 From 32d7d2e068756874518f97d5a114e43d8977980b Mon Sep 17 00:00:00 2001 From: Hani Benhabiles Date: Sat, 7 Jun 2014 01:32:32 +0100 Subject: nbd: Handle NBD_OPT_LIST option. Signed-off-by: Hani Benhabiles Signed-off-by: Paolo Bonzini --- include/block/nbd.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/block/nbd.h b/include/block/nbd.h index 561b70c..9e835d2 100644 --- a/include/block/nbd.h +++ b/include/block/nbd.h @@ -52,7 +52,10 @@ struct nbd_reply { #define NBD_FLAG_C_FIXED_NEWSTYLE (1 << 0) /* Fixed newstyle protocol. */ /* Reply types. */ +#define NBD_REP_ACK (1) /* Data sending finished. */ +#define NBD_REP_SERVER (2) /* Export description. */ #define NBD_REP_ERR_UNSUP ((1 << 31) | 1) /* Unknown option. */ +#define NBD_REP_ERR_INVALID ((1 << 31) | 3) /* Invalid length. */ #define NBD_CMD_MASK_COMMAND 0x0000ffff #define NBD_CMD_FLAG_FUA (1 << 16) -- cgit v1.1