Cover Letter Detail
Show a cover letter.
GET /api/1.2/covers/815408/?format=api
{ "id": 815408, "url": "http://patchwork.ozlabs.org/api/1.2/covers/815408/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170919102434.21147-1-pbonzini@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.2/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170919102434.21147-1-pbonzini@redhat.com>", "list_archive_url": null, "date": "2017-09-19T10:24:30", "name": "[v2,0/4] scsi, block: introduce persistent reservation managers", "submitter": { "id": 2701, "url": "http://patchwork.ozlabs.org/api/1.2/people/2701/?format=api", "name": "Paolo Bonzini", "email": "pbonzini@redhat.com" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170919102434.21147-1-pbonzini@redhat.com/mbox/", "series": [ { "id": 3827, "url": "http://patchwork.ozlabs.org/api/1.2/series/3827/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=3827", "date": "2017-09-19T10:24:30", "name": "scsi, block: introduce persistent reservation managers", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/3827/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/815408/comments/", "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)", "ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com", "ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=pbonzini@redhat.com" ], "Received": [ "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xxJt52rjqz9s7h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Sep 2017 20:25:30 +1000 (AEST)", "from localhost ([::1]:41275 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1duFiY-000456-Rd\n\tfor incoming@patchwork.ozlabs.org; Tue, 19 Sep 2017 06:25:26 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:45230)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <pbonzini@redhat.com>) id 1duFhr-00043M-VC\n\tfor qemu-devel@nongnu.org; Tue, 19 Sep 2017 06:24:45 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <pbonzini@redhat.com>) id 1duFhq-0004Ye-W6\n\tfor qemu-devel@nongnu.org; Tue, 19 Sep 2017 06:24:43 -0400", "from mx1.redhat.com ([209.132.183.28]:38830)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <pbonzini@redhat.com>)\n\tid 1duFhl-0004VC-Be; Tue, 19 Sep 2017 06:24:37 -0400", "from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 21212806C0;\n\tTue, 19 Sep 2017 10:24:36 +0000 (UTC)", "from donizetti.redhat.com (ovpn-117-61.ams2.redhat.com\n\t[10.36.117.61])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 451C55D6A4;\n\tTue, 19 Sep 2017 10:24:35 +0000 (UTC)" ], "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com 21212806C0", "From": "Paolo Bonzini <pbonzini@redhat.com>", "To": "qemu-devel@nongnu.org", "Date": "Tue, 19 Sep 2017 12:24:30 +0200", "Message-Id": "<20170919102434.21147-1-pbonzini@redhat.com>", "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.15", "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.26]);\n\tTue, 19 Sep 2017 10:24:36 +0000 (UTC)", "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]", "X-Received-From": "209.132.183.28", "Subject": "[Qemu-devel] [PATCH v2 0/4] scsi,\n\tblock: introduce persistent reservation managers", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Id": "<qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Cc": "qemu-block@nongnu.org", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>" }, "content": "SCSI persistent Reservations allow restricting access to block devices\nto specific initiators in a shared storage setup. When implementing\nclustering of virtual machines, it is a common requirement for virtual\nmachines to send persistent reservation SCSI commands. However,\nthe operating system restricts sending these commands to unprivileged\nprograms because incorrect usage can disrupt regular operation of the\nstorage fabric.\n\nWith these patches, the scsi-block and scsi-generic SCSI passthrough\ndevices learn to delegate the implementation of persistent reservations to\na separate object, the \"persistent reservation manager\". The persistent\nreservation manager talks to a separate privileged program, with a very\nsimple protocol based on SCM_RIGHTS. In addition to invoking PERSISTENT\nRESERVATION OUT and PERSISTENT RESERVATION IN commands, the privileged\ncomponent can also use libmpathpersist so that persistent reservations\nare applied to all paths in a multipath setting.\n\nPatch 1 defines the abstract QOM class and plugs it into block/file-posix.c.\n\nPatch 2 and 3 introduce the privileged helper program, while patch 4\ndefines the concrete QOM class that talks to it.\n\nPaolo\n\nv1->v2: removed scsi/ patches which were all reviewed\n removed man page (requires .texi while I used .rst for docs)\n qio_channel_read/write_all also went in independently\n fix installation of qemu-pr-helper man page\n fixes to documentation\n added BSD license to protocol header\n added handling of residual (buffer underrun)\n fixed closing of file descriptors on error\n block PERSISTENT RESERVE OUT for read-only file descriptors\n do not use g_assert\n use EXIT_SUCCESS/EXIT_FAILURE consistently\n moved all CONFIG_MPATH usage to the right patch\n drop CAP_SYS_ADMIN if multipath not compiled in\n simplify buffer size handling in multipath PERSISTENT RESERVE IN\n block REGISTER AND MOVE operation for multipath PERSISTENT RESERVE OUT\n fixed transport id handling in multipath PERSISTENT RESERVE OUT\n fixed string property double-free in pr-manager-helper\n fixed/cleaned up error handling in pr-manager-helper\n \nPaolo Bonzini (9):\n scsi, file-posix: add support for persistent reservation management\n scsi: build qemu-pr-helper\n scsi: add multipath support to qemu-pr-helper\n scsi: add persistent reservation manager using qemu-pr-helper\n\n Makefile | 14 +-\n configure | 59 ++-\n docs/interop/pr-helper.rst | 83 ++++\n docs/pr-manager.rst | 60 +++\n include/scsi/utils.h | 4 +\n scsi/Makefile.objs | 2 +-\n scsi/pr-helper.h | 41 ++\n scsi/pr-manager-helper.c | 302 +++++++++++++\n scsi/qemu-pr-helper.c | 1038 ++++++++++++++++++++++++++++++++++++++++++++\n scsi/utils.c | 10 +\n 10 files changed, 1607 insertions(+), 6 deletions(-)" }