Hi, Could everyone please review this series?
On 2024/6/19 10:49, 卢长奇 wrote: > Hi, > > Klaus, the pr related operations of the > nvme layer are almost ready. > > Stefan, the block layer has been modified > according to your comments. > > Please help review the code again. Thanks! > > On 2024/6/13 15:13, Changqi Lu wrote: >> Hi, >> >> patch v6 has been modified. >> >> v5->v6: >> - Add relevant comments in the io layer. >> >> v4->v5: >> - Fixed a memory leak bug at hw/nvme/ctrl.c. >> >> v3->v4: >> - At the nvme layer, the two patches of enabling the ONCS >> function and enabling rescap are combined into one. >> - At the nvme layer, add helper functions for pr capacity >> conversion between the block layer and the nvme layer. >> >> v2->v3: >> In v2 Persist Through Power Loss(PTPL) is enable default. >> In v3 PTPL is supported, which is passed as a parameter. >> >> v1->v2: >> - Add sg_persist --report-capabilities for SCSI protocol and enable >> oncs and rescap for NVMe protocol. >> - Add persistent reservation capabilities constants and helper functions for >> SCSI and NVMe protocol. >> - Add comments for necessary APIs. >> >> v1: >> - Add seven APIs about persistent reservation command for block layer. >> These APIs including reading keys, reading reservations, registering, >> reserving, releasing, clearing and preempting. >> - Add the necessary pr-related operation APIs for both the >> SCSI protocol and NVMe protocol at the device layer. >> - Add scsi driver at the driver layer to verify the functions >> >> Changqi Lu (10): >> 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: enable ONCS and rescap function >> hw/nvme: add reservation protocal command >> block/iscsi: add persistent reservation in/out driver >> >> block/block-backend.c | 403 +++++++++++++++++++++++++++ >> block/io.c | 163 +++++++++++ >> block/iscsi.c | 443 ++++++++++++++++++++++++++++++ >> block/raw-format.c | 56 ++++ >> hw/nvme/ctrl.c | 326 +++++++++++++++++++++- >> hw/nvme/ns.c | 5 + >> hw/nvme/nvme.h | 84 ++++++ >> hw/scsi/scsi-disk.c | 352 ++++++++++++++++++++++++ >> include/block/block-common.h | 40 +++ >> include/block/block-io.h | 20 ++ >> include/block/block_int-common.h | 84 ++++++ >> include/block/nvme.h | 98 +++++++ >> include/scsi/constants.h | 52 ++++ >> include/scsi/utils.h | 8 + >> include/sysemu/block-backend-io.h | 24 ++ >> scsi/utils.c | 81 ++++++ >> 16 files changed, 2237 insertions(+), 2 deletions(-) >>