qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] nbd/server: Advertise MULTI_CONN for shared writable exports


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH] nbd/server: Advertise MULTI_CONN for shared writable exports
Date: Fri, 27 Aug 2021 19:58:10 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

27.08.2021 18:09, Eric Blake wrote:
According to the NBD spec, a server advertising
NBD_FLAG_CAN_MULTI_CONN promises that multiple client connections will
not see any cache inconsistencies: when properly separated by a single
flush, actions performed by one client will be visible to another
client, regardless of which client did the flush.  We satisfy these
conditions in qemu because our block layer serializes any overlapping
operations (see bdrv_find_conflicting_request and friends)

Not any. We serialize only write operations not aligned to request_alignment of 
bs (see bdrv_make_request_serialising() call in bdrv_co_pwritev_part). So, 
actually most of overlapping operations remain overlapping. And that's correct: 
it's not a Qemu work to resolve overlapping requests. We resolve them only when 
we are responsible for appearing of intersection: when we align requests up.

--
Best regards,
Vladimir



reply via email to

[Prev in Thread] Current Thread [Next in Thread]