[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: COMPARE_AND_WRITE support for rbd driver
From: |
Paolo Bonzini |
Subject: |
Re: COMPARE_AND_WRITE support for rbd driver |
Date: |
Fri, 20 Sep 2019 13:22:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 19/09/19 07:36, Yaowei Bai wrote:
> address@hidden
> Bcc:
> Subject: COMPARE_AND_WRITE support for rbd driver
> Reply-To: address@hidden
>
> Hey guys,
>
> I noticed that COMPARE_AND_WRITE had been supported by CEPH/librbd since
> v12.1.1. And in my company, we use this COMPARE_AND_WRITE support in
> CEPH with the ISCSI protocol. More precisely, we use tgt and CEPH with this
> COMPARE_AND_WRITE support as the SCSI target and export it to the remote
> hosts. And then VMs on remote hosts can use these SCSI targets through ISCSI
> initiator support in QEMU directly or as local SCSI disks. But unfortunately,
> there're some issues with this tgt case. So i think maybe we could also add
> this
> COMPARE_AND_WRITE support into the rbd driver in QEMU so we can leave the
> ISCSI/tgt alone and use this COMPARE_AND_WRITE support with the
> scsi-disk <--> virtio-scsi <--> rbd driver path. This can also apply to
> the WRITESAME support in CEPH/librbd.
>
> So is it suitable for doing this?
Yes, it would be suitable. In a nutshell you would have to add support
for COMPARE_AND_WRITE to block/io.c (calling into a new BlockDriver
function pointer), block/rbd.c and hw/scsi/scsi-disk.c.
Paolo