[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
- [Qemu-devel] [PATCH RFC 0/8] scsi-disk: Active/passive ALUA support,
Hannes Reinecke <=
- [Qemu-devel] [PATCH 5/8] scsi-disk: implement ALUA policy, Hannes Reinecke, 2015/11/27
- [Qemu-devel] [PATCH 4/8] scsi-disk: Implement 'SET TARGET PORT GROUPS', Hannes Reinecke, 2015/11/27
- [Qemu-devel] [PATCH 8/8] block: Implement 'block_disconnect' HMP command, Hannes Reinecke, 2015/11/27
- [Qemu-devel] [PATCH 3/8] scsi-disk: Implement 'REPORT TARGET PORT GROUPS', Hannes Reinecke, 2015/11/27
- [Qemu-devel] [PATCH 1/8] scsi-disk: Add 'port_group' property, Hannes Reinecke, 2015/11/27
- [Qemu-devel] [PATCH 6/8] scsi-disk: Allow READ CAPACITY in standby, Hannes Reinecke, 2015/11/27
- [Qemu-devel] [PATCH 7/8] scsi-disk: Implement 'alua_preferred' option, Hannes Reinecke, 2015/11/27
- [Qemu-devel] [PATCH 2/8] scsi-disk: Add 'alua_state' property, Hannes Reinecke, 2015/11/27