On 19/09/19 07:36, Yaowei Bai wrote:
> baiyao...@cmss.chinamobile.com 
> Bcc: 
> Subject: COMPARE_AND_WRITE support for rbd driver
> Reply-To: baiyao...@cmss.chinamobile.com
> 
> 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

Reply via email to