Signed-off-by: Alex Bligh <[email protected]>
---
 tests/run/nbd-tester-client.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/tests/run/nbd-tester-client.c b/tests/run/nbd-tester-client.c
index 06396a7..4ca5064 100644
--- a/tests/run/nbd-tester-client.c
+++ b/tests/run/nbd-tester-client.c
@@ -342,6 +342,8 @@ int setup_connection_common(int sock, char* name, 
CONNECTION_TYPE ctype, int* se
        u64 tmp64;
        uint64_t mymagic = (name ? opts_magic : cliserv_magic);
        uint32_t tmp32 = 0;
+       uint16_t handshakeflags = 0;
+       uint32_t negotiationflags = 0;
 
        if(ctype<CONNECTION_TYPE_INIT_PASSWD)
                goto end;
@@ -370,10 +372,14 @@ int setup_connection_common(int sock, char* name, 
CONNECTION_TYPE ctype, int* se
                READ_ALL_ERRCHK(sock, buf, 128, err, "Could not read data: %s", 
strerror(errno));
                goto end;
        }
-       /* flags */
-       READ_ALL_ERRCHK(sock, buf, sizeof(uint16_t), err, "Could not read 
reserved field: %s", strerror(errno));
-       /* reserved field */
-       WRITE_ALL_ERRCHK(sock, &tmp32, sizeof(tmp32), err, "Could not write 
reserved field: %s", strerror(errno));
+       /* handshake flags */
+       READ_ALL_ERRCHK(sock, &handshakeflags, sizeof(handshakeflags), err, 
"Could not read reserved field: %s", strerror(errno));
+        handshakeflags = ntohs(handshakeflags);
+        /* negotiation flags */
+       if (handshakeflags & NBD_FLAG_FIXED_NEWSTYLE)
+               negotiationflags |= NBD_FLAG_C_FIXED_NEWSTYLE;
+       negotiationflags = htonl(negotiationflags);
+       WRITE_ALL_ERRCHK(sock, &negotiationflags, sizeof(negotiationflags), 
err, "Could not write reserved field: %s", strerror(errno));
        /* magic */
        tmp64 = htonll(opts_magic);
        WRITE_ALL_ERRCHK(sock, &tmp64, sizeof(tmp64), err, "Could not write 
magic: %s", strerror(errno));
-- 
1.9.1


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532
_______________________________________________
Nbd-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nbd-general

Reply via email to