qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] Support persistent reservation operations
@ 2024-05-08  9:36 Changqi Lu
  2024-05-08  9:36 ` [PATCH 1/9] block: add persistent reservation in/out api Changqi Lu
                   ` (9 more replies)
  0 siblings, 10 replies; 21+ messages in thread
From: Changqi Lu @ 2024-05-08  9:36 UTC (permalink / raw)
  To: qemu-block, qemu-devel
  Cc: kwolf, hreitz, stefanha, fam, ronniesahlberg, pbonzini, pl,
	kbusch, its, foss, philmd, Changqi Lu

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.

Changqi Lu (9):
  block: add persistent reservation in/out api
  block/raw: add persistent reservation in/out driver
  scsi/constant: add persistent reservation in/out protocol constants
  scsi/util: add helper functions for persistent reservation types
    conversion
  hw/scsi: add persistent reservation in/out api for scsi device
  block/nvme: add reservation command protocol constants
  hw/nvme: add helper functions for converting reservation types
  hw/nvme: add reservation protocal command
  block/iscsi: add persistent reservation in/out driver

 block/block-backend.c             | 386 +++++++++++++++++++++++++++++
 block/io.c                        | 161 ++++++++++++
 block/iscsi.c                     | 390 ++++++++++++++++++++++++++++++
 block/raw-format.c                |  55 +++++
 hw/nvme/ctrl.c                    | 304 ++++++++++++++++++++++-
 hw/nvme/nvme.h                    |  44 ++++
 hw/scsi/scsi-disk.c               | 302 +++++++++++++++++++++++
 include/block/block-common.h      |   9 +
 include/block/block-io.h          |  19 ++
 include/block/block_int-common.h  |  31 +++
 include/block/nvme.h              |  67 +++++
 include/scsi/constants.h          |  29 +++
 include/scsi/utils.h              |   5 +
 include/sysemu/block-backend-io.h |  22 ++
 scsi/utils.c                      |  40 +++
 15 files changed, 1863 insertions(+), 1 deletion(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-05-10  2:37 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-08  9:36 [PATCH 0/9] Support persistent reservation operations Changqi Lu
2024-05-08  9:36 ` [PATCH 1/9] block: add persistent reservation in/out api Changqi Lu
2024-05-09 18:22   ` Stefan Hajnoczi
2024-05-10  2:37     ` zhenwei pi
2024-05-08  9:36 ` [PATCH 2/9] block/raw: add persistent reservation in/out driver Changqi Lu
2024-05-09 18:23   ` Stefan Hajnoczi
2024-05-08  9:36 ` [PATCH 3/9] scsi/constant: add persistent reservation in/out protocol constants Changqi Lu
2024-05-09 18:28   ` Stefan Hajnoczi
2024-05-08  9:36 ` [PATCH 4/9] scsi/util: add helper functions for persistent reservation types conversion Changqi Lu
2024-05-09 18:28   ` Stefan Hajnoczi
2024-05-08  9:36 ` [PATCH 5/9] hw/scsi: add persistent reservation in/out api for scsi device Changqi Lu
2024-05-09 18:45   ` Stefan Hajnoczi
2024-05-09 19:09   ` Stefan Hajnoczi
2024-05-08  9:36 ` [PATCH 6/9] block/nvme: add reservation command protocol constants Changqi Lu
2024-05-09 18:48   ` Stefan Hajnoczi
2024-05-08  9:36 ` [PATCH 7/9] hw/nvme: add helper functions for converting reservation types Changqi Lu
2024-05-09 18:48   ` Stefan Hajnoczi
2024-05-08  9:36 ` [PATCH 8/9] hw/nvme: add reservation protocal command Changqi Lu
2024-05-08 10:41   ` Klaus Jensen
2024-05-08  9:36 ` [PATCH 9/9] block/iscsi: add persistent reservation in/out driver Changqi Lu
2024-05-09 19:08 ` [PATCH 0/9] Support persistent reservation operations Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).