OSDN Git Service

nbd: Replace bool structured_reply with mode enum
authorEric Blake <eblake@redhat.com>
Tue, 29 Aug 2023 17:58:28 +0000 (12:58 -0500)
committerEric Blake <eblake@redhat.com>
Fri, 22 Sep 2023 22:19:27 +0000 (17:19 -0500)
commitac132d0520c39f48a22e8666810792c5c9dd44b1
treec77ecc919d0bed4d0877de6df5f71c7fc690c506
parent71a5655a35f7beca8ce0d3e2932cc01b84303994
nbd: Replace bool structured_reply with mode enum

The upcoming patches for 64-bit extensions requires various points in
the protocol to make decisions based on what was negotiated.  While we
could easily add a 'bool extended_headers' alongside the existing
'bool structured_reply', this does not scale well if more modes are
added in the future.  Better is to expose the mode enum added in the
recent commit bfe04d0a7d out to a wider use in the code base.

Where the code previously checked for structured_reply being set or
clear, it now prefers checking for an inequality; this works because
the nodes are in a continuum of increasing abilities, and allows us to
touch fewer places if we ever insert other modes in the middle of the
enum.  There should be no semantic change in this patch.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-ID: <20230829175826.377251-20-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
block/nbd.c
include/block/nbd.h
nbd/client-connection.c
nbd/client.c
nbd/server.c
qemu-nbd.c