diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2011-09-08 17:24:54 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2011-09-19 11:34:33 +0200 |
commit | b90fb4b8f5cd01dfcf0e3b45c93977a2e3bdcc71 (patch) | |
tree | b56e1a33fbb71196fc78cc03d2d1c05b8674e5e3 /block | |
parent | 530889ff95659d8fea81eb556e5706387fdddfa7 (diff) |
nbd: support feature negotiation
nbd supports writing flags in bytes 24...27 of the header,
and uses that for the read-only flag. Add support for it
in qemu-nbd.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/nbd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/block/nbd.c b/block/nbd.c index 70edd81bd6..76f04d863c 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -48,6 +48,7 @@ typedef struct BDRVNBDState { int sock; + uint32_t nbdflags; off_t size; size_t blocksize; char *export_name; /* An NBD server may export several devices */ @@ -111,7 +112,6 @@ static int nbd_establish_connection(BlockDriverState *bs) int ret; off_t size; size_t blocksize; - uint32_t nbdflags; if (s->host_spec[0] == '/') { sock = unix_socket_outgoing(s->host_spec); @@ -126,7 +126,7 @@ static int nbd_establish_connection(BlockDriverState *bs) } /* NBD handshake */ - ret = nbd_receive_negotiate(sock, s->export_name, &nbdflags, &size, + ret = nbd_receive_negotiate(sock, s->export_name, &s->nbdflags, &size, &blocksize); if (ret == -1) { logout("Failed to negotiate with the NBD server\n"); |