Message ID | 20240508093629.441057-1-luchangqi.123@bytedance.com (mailing list archive) |
---|---|
Headers | show |
Series | Support persistent reservation operations | expand |
On Wed, May 08, 2024 at 05:36:20PM +0800, Changqi Lu wrote: > Hi, > > I am going to introduce persistent reservation for QEMU block. > There are three parts in this series: > > Firstly, at the block layer, the commit abstracts seven APIs related to > the persistent reservation command. These APIs including reading keys, > reading reservations, registering, reserving, releasing, clearing and preempting. > > Next, the commit implements the necessary pr-related operation APIs for both the > SCSI protocol and NVMe protocol at the device layer. This ensures that the necessary > functionality is available for handling persistent reservations in these protocols. > > Finally, the commit includes adaptations to the iscsi driver at the driver layer > to verify the correct implementation and functionality of the changes. > > With these changes, GFS works fine in the guest. Also, sg-utils(for SCSI block) and > nvme-cli(for NVMe block) work fine too. What is the relationship to the existing PRManager functionality (docs/interop/pr-helper.rst) where block/file-posix.c interprets SCSI ioctls and sends persistent reservation requests to an external helper process? I wonder if block/file-posix.c can implement the new block driver callbacks using pr_mgr (while keeping the existing scsi-generic support). Stefan