qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH RFC 0/8] scsi-disk: Active/passive ALUA support


From: Hannes Reinecke
Subject: [Qemu-devel] [PATCH RFC 0/8] scsi-disk: Active/passive ALUA support
Date: Fri, 27 Nov 2015 15:58:58 +0100

Hi all,

here's now an updated version to enable ALUA and simplified
active/passive multipath support for qemu.

This patchset relies on having _two_ block devices configured,
and two SCSI disks pointing to those block devices with the
_same_ 'wwn' property and unique 'port_group' properties.
I know, this is a bit of a nasty hack, but I hope to add
proper multipath support (with several SCSI devices pointing /
linking to the same block device) in the near future.

It also implements a 'alua_policy', which allows for simulating
an 'active/passive' multipath setup.

And for testing I've implemented a 'block_disconnect' HMP command,
which simulates a link failure for the attached devices.

I wouldn't object if someone declares this a gross hack, but with
it I can finally simulate real-life multipath failover and do
some functional multipath-tools testing withouth having to recurse
on using real hardware.

As usual, comments and reviews are welcome.

Hannes Reinecke (8):
  scsi-disk: Add 'port_group' property
  scsi-disk: Add 'alua_state' property
  scsi-disk: Implement 'REPORT TARGET PORT GROUPS'
  scsi-disk: Implement 'SET TARGET PORT GROUPS'
  scsi-disk: implement ALUA policy
  scsi-disk: Allow READ CAPACITY in standby
  scsi-disk: Implement 'alua_preferred' option
  block: Implement 'block_disconnect' HMP command

 block.c                        |   5 +
 block/block-backend.c          |   8 +
 blockdev.c                     |  18 ++
 hmp-commands.hx                |  14 +
 hmp.c                          |  10 +
 hmp.h                          |   1 +
 hw/scsi/megasas.c              |   4 +
 hw/scsi/scsi-bus.c             |  20 ++
 hw/scsi/scsi-disk.c            | 654 +++++++++++++++++++++++++++++++++++++++++
 hw/scsi/virtio-scsi.c          |   5 +
 include/block/block.h          |   1 +
 include/block/block_int.h      |   1 +
 include/block/scsi.h           |  18 ++
 include/hw/scsi/scsi.h         |   8 +
 include/sysemu/block-backend.h |   1 +
 qapi/block-core.json           |  21 ++
 qmp-commands.hx                |  26 ++
 17 files changed, 815 insertions(+)

-- 
1.8.4.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]