qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Johannes Thumshirn <jthumshirn@suse.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Hannes Reinecke <hare@suse.de>,
	qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>
Subject: [Qemu-devel] [PATCH RFC 0/8] scsi-disk: Active/passive ALUA support
Date: Fri, 27 Nov 2015 15:58:58 +0100	[thread overview]
Message-ID: <1448636346-24641-1-git-send-email-hare@suse.de> (raw)

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	other threads:[~2015-11-27 14:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-27 14:58 Hannes Reinecke [this message]
2015-11-27 14:58 ` [Qemu-devel] [PATCH 1/8] scsi-disk: Add 'port_group' property Hannes Reinecke
2015-11-27 14:59 ` [Qemu-devel] [PATCH 2/8] scsi-disk: Add 'alua_state' property Hannes Reinecke
2015-11-27 14:59 ` [Qemu-devel] [PATCH 3/8] scsi-disk: Implement 'REPORT TARGET PORT GROUPS' Hannes Reinecke
2015-11-27 14:59 ` [Qemu-devel] [PATCH 4/8] scsi-disk: Implement 'SET " Hannes Reinecke
2015-11-27 14:59 ` [Qemu-devel] [PATCH 5/8] scsi-disk: implement ALUA policy Hannes Reinecke
2015-11-27 14:59 ` [Qemu-devel] [PATCH 6/8] scsi-disk: Allow READ CAPACITY in standby Hannes Reinecke
2015-11-27 14:59 ` [Qemu-devel] [PATCH 7/8] scsi-disk: Implement 'alua_preferred' option Hannes Reinecke
2015-11-27 14:59 ` [Qemu-devel] [PATCH 8/8] block: Implement 'block_disconnect' HMP command Hannes Reinecke
2015-11-27 18:00   ` Eric Blake
2015-12-10  8:26 ` [Qemu-devel] [PATCH RFC 0/8] scsi-disk: Active/passive ALUA support Stefan Hajnoczi
2015-12-10  9:13   ` Hannes Reinecke
2015-12-14  7:24     ` Stefan Hajnoczi
2015-12-14  7:35       ` Hannes Reinecke
2015-12-15  3:02         ` Stefan Hajnoczi
2015-12-15  6:49           ` Hannes Reinecke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1448636346-24641-1-git-send-email-hare@suse.de \
    --to=hare@suse.de \
    --cc=agraf@suse.de \
    --cc=jthumshirn@suse.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).