Il mar 17 giu 2025, 18:02 Annie Li <annie...@oracle.com> ha scritto: > Hello Paolo, > On 6/16/2025 5:11 PM, Paolo Bonzini wrote: > > > > Il lun 16 giu 2025, 21:00 Annie Li <annie...@oracle.com> ha scritto: > >> > My understanding of the qemu document is that it's OK to run one >> > helper per QEMU or even per host, but multiple disks shouldn't share >> > the same socket since it is possible that multiple commands may be >> > sent concurrently. >> >> Maybe QEMU has some internal lock that does the right thing and >> >> serializes requests? >> > > Multiple disks can share the socket, the serialization of requests is > handled with a mutex in scsi/pr-manager-helper.c. > > Thanks a lot for the clarification. > > I was only focusing on the qemu-pr-helper source code, haven't checked > pr-manager-helper yet, will definitely take a look. > Hi Annie
that's the part of QEMU that talks to the helper process. > Looks the following document is misleading, > https://www.qemu.org/docs/master/interop/pr-helper.html > Since there is a mutex handling the requests from multiple disk over one > socket, I suppose the statement "It is invalid to send multiple commands > concurrently on the same socket." can be removed > No, I don't think it should be removed: the mutex is exactly what makes QEMU obey that statement. Remember that the documentation is written for everyone that needs to implement a qemu-pr-helper replacement (say one that does persistent reservations using a shared database), or a client that may not be QEMU (ok in practice it will be). Paolo