On 02/16/2018 05:09 AM, Vladimir Sementsov-Ogievskiy wrote:
16.02.2018 02:02, Eric Blake wrote:
On 02/15/2018 07:51 AM, Vladimir Sementsov-Ogievskiy wrote:
Minimal realization: only one extent in server answer is supported.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
---
  include/block/nbd.h |  33 ++++++
  nbd/common.c        |  10 ++
  nbd/server.c        | 310 +++++++++++++++++++++++++++++++++++++++++++++++++++-
  3 files changed, 352 insertions(+), 1 deletion(-)


@@ -200,9 +227,15 @@ enum {
  #define NBD_REPLY_TYPE_NONE          0
  #define NBD_REPLY_TYPE_OFFSET_DATA   1
  #define NBD_REPLY_TYPE_OFFSET_HOLE   2
+#define NBD_REPLY_TYPE_BLOCK_STATUS  5

Stale; see nbd.git commit 56c77720 which changed this to 3.

Very unpleasant surprise. I understand that this is still experimental extension, but actually we use it =5 in production about one year. Can we revert it to 5?

For that, you'll have to ask on the upstream NBD list. There may be other things that turn out to need tweaking as I get through the rest of your initial implementation, vs. what works well for interoperability, so having a distinct number for experimental vs. actual may be worthwhile for other reasons as well, even if it requires some glue code on your side to handle an older server sending 5 instead of 3 to a newer client.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to