[Libguestfs] [Qemu-devel] [PATCH 1/5] nbd: Improve per-export flag handling in server
Eric Blake
eblake at redhat.com
Fri Aug 30 23:10:24 UTC 2019
On 8/30/19 1:00 PM, Vladimir Sementsov-Ogievskiy wrote:
> 23.08.2019 17:37, Eric Blake wrote:
>> When creating a read-only image, we are still advertising support for
>> TRIM and WRITE_ZEROES to the client, even though the client should not
>> be issuing those commands. But seeing this requires looking across
>> multiple functions:
>>
>> @@ -458,10 +458,13 @@ static int nbd_negotiate_handle_export_name(NBDClient *client,
>> return -EINVAL;
>> }
>>
>> - trace_nbd_negotiate_new_style_size_flags(client->exp->size,
>> - client->exp->nbdflags | myflags);
>> + myflags = client->exp->nbdflags;
>> + if (client->structured_reply) {
>> + myflags |= NBD_FLAG_SEND_DF;
>> + }
>
>
> why we cant do just
> client->exp->nbdflags |= NBD_FLAG_SEND_DF ?
Because myflags is the runtime flags for _this_ client, while
client->exp->nbdflags are the base flags shared by _all_ clients. If
client A requests structured reply, but client B does not, then we don't
want to advertise DF to client B; but amending client->exp->nbdflags
would have that effect.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20190830/03640a14/attachment.sig>
More information about the Libguestfs
mailing list