Hi all, here's a patchset to implement ALUA support for SCSI disks. With it we can easily simulate a multipath setup:
-drive <drive>,if=none,id=disk1 \ -device scsi-disk,wwn=<wwn>,port_group=1,port_index=1,alua_state=0 -drive <drive>,if=none,id=disk2 \ -device scsi-disk,wwn=<wwn>,port_group=2,port_index=1,alua_state=2 What's a bit annoying is that one has to reference the underlying block device _twice_, which means one has to stick with the 'raw' format as anything more elaborate will cause data corruption on the guest if both paths are active. Also the 'wwn' property is _actually_ a property of the underlying block device, not the scsi disk. This patchset implements 'implicit' ALUA mode only for the moment; full explicit ALUA support involves quite a bit of logic in the qemu backend. As usual, comments and reviews are welcome. Hannes Reinecke (3): scsi-disk: Add 'port_group' property scsi-disk: Add 'alua_state' property scsi-disk: Implement 'REPORT TARGET PORT GROUPS' hw/scsi/scsi-bus.c | 15 ++++ hw/scsi/scsi-disk.c | 240 +++++++++++++++++++++++++++++++++++++++++++++++++ include/block/scsi.h | 13 +++ include/hw/scsi/scsi.h | 6 ++ 4 files changed, 274 insertions(+) -- 1.8.4.5