From: Max Reitz Date: Wed, 25 Feb 2015 18:08:32 +0000 (-0500) Subject: nbd: Fix interpretation of the export flags X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=48c7d80de8863e3436b3b5d5676018b2afaec161;p=qemu.git nbd: Fix interpretation of the export flags The export flags are a 16 bit value, so be16_to_cpu() has to be used to interpret them correctly. This makes discard and flush actually work for named NBD exports (they did not work before, because the client always assumed them to be unsupported because of the bug fixed by this patch). Signed-off-by: Max Reitz Message-Id: <1424887718-10800-20-git-send-email-mreitz@redhat.com> Signed-off-by: Paolo Bonzini --- diff --git a/nbd.c b/nbd.c index fb8a4d47f3..563e8207d1 100644 --- a/nbd.c +++ b/nbd.c @@ -625,7 +625,7 @@ int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags, error_setg(errp, "Failed to read export flags"); goto fail; } - *flags |= be32_to_cpu(tmp); + *flags |= be16_to_cpu(tmp); } if (read_sync(csock, &buf, 124) != 124) { error_setg(errp, "Failed to read reserved block");