[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v2 0/4] scsi, block: introduce persistent reserv
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-block] [PATCH v2 0/4] scsi, block: introduce persistent reservation managers |
Date: |
Thu, 21 Sep 2017 17:07:47 +0100 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Tue, Sep 19, 2017 at 12:24:30PM +0200, Paolo Bonzini wrote:
> SCSI persistent Reservations allow restricting access to block devices
> to specific initiators in a shared storage setup. When implementing
> clustering of virtual machines, it is a common requirement for virtual
> machines to send persistent reservation SCSI commands. However,
> the operating system restricts sending these commands to unprivileged
> programs because incorrect usage can disrupt regular operation of the
> storage fabric.
>
> With these patches, the scsi-block and scsi-generic SCSI passthrough
> devices learn to delegate the implementation of persistent reservations to
> a separate object, the "persistent reservation manager". The persistent
> reservation manager talks to a separate privileged program, with a very
> simple protocol based on SCM_RIGHTS. In addition to invoking PERSISTENT
> RESERVATION OUT and PERSISTENT RESERVATION IN commands, the privileged
> component can also use libmpathpersist so that persistent reservations
> are applied to all paths in a multipath setting.
>
> Patch 1 defines the abstract QOM class and plugs it into block/file-posix.c.
>
> Patch 2 and 3 introduce the privileged helper program, while patch 4
> defines the concrete QOM class that talks to it.
>
> Paolo
>
> v1->v2: removed scsi/ patches which were all reviewed
> removed man page (requires .texi while I used .rst for docs)
> qio_channel_read/write_all also went in independently
> fix installation of qemu-pr-helper man page
> fixes to documentation
> added BSD license to protocol header
> added handling of residual (buffer underrun)
> fixed closing of file descriptors on error
> block PERSISTENT RESERVE OUT for read-only file descriptors
> do not use g_assert
> use EXIT_SUCCESS/EXIT_FAILURE consistently
> moved all CONFIG_MPATH usage to the right patch
> drop CAP_SYS_ADMIN if multipath not compiled in
> simplify buffer size handling in multipath PERSISTENT RESERVE IN
> block REGISTER AND MOVE operation for multipath PERSISTENT RESERVE OUT
> fixed transport id handling in multipath PERSISTENT RESERVE OUT
> fixed string property double-free in pr-manager-helper
> fixed/cleaned up error handling in pr-manager-helper
>
> Paolo Bonzini (9):
> scsi, file-posix: add support for persistent reservation management
> scsi: build qemu-pr-helper
> scsi: add multipath support to qemu-pr-helper
> scsi: add persistent reservation manager using qemu-pr-helper
>
> Makefile | 14 +-
> configure | 59 ++-
> docs/interop/pr-helper.rst | 83 ++++
> docs/pr-manager.rst | 60 +++
> include/scsi/utils.h | 4 +
> scsi/Makefile.objs | 2 +-
> scsi/pr-helper.h | 41 ++
> scsi/pr-manager-helper.c | 302 +++++++++++++
> scsi/qemu-pr-helper.c | 1038
> ++++++++++++++++++++++++++++++++++++++++++++
> scsi/utils.c | 10 +
> 10 files changed, 1607 insertions(+), 6 deletions(-)
>
> --
> 2.13.5
>
>
Reviewed-by: Stefan Hajnoczi <address@hidden>
- [Qemu-block] [PATCH 1/4] scsi, file-posix: add support for persistent reservation management, (continued)
- [Qemu-block] [PATCH 1/4] scsi, file-posix: add support for persistent reservation management, Paolo Bonzini, 2017/09/19
- [Qemu-block] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Paolo Bonzini, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Daniel P. Berrange, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Daniel P. Berrange, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Paolo Bonzini, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Daniel P. Berrange, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Paolo Bonzini, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Daniel P. Berrange, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Paolo Bonzini, 2017/09/19
- Re: [Qemu-block] [Qemu-devel] [PATCH 4/4] scsi: add persistent reservation manager using qemu-pr-helper, Paolo Bonzini, 2017/09/21
Re: [Qemu-block] [PATCH v2 0/4] scsi, block: introduce persistent reservation managers,
Stefan Hajnoczi <=
Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/4] scsi, block: introduce persistent reservation managers, no-reply, 2017/09/21
Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/4] scsi, block: introduce persistent reservation managers, no-reply, 2017/09/21