Show a cover letter.

GET /api/covers/2217646/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2217646,
    "url": "http://patchwork.ozlabs.org/api/covers/2217646/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260330095226.158386-1-dtalexundeer@yandex-team.ru/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/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": "<20260330095226.158386-1-dtalexundeer@yandex-team.ru>",
    "list_archive_url": null,
    "date": "2026-03-30T09:52:21",
    "name": "[v3,0/5] vhost-user-blk: fix compatibility with older qemu versions",
    "submitter": {
        "id": 90655,
        "url": "http://patchwork.ozlabs.org/api/people/90655/?format=api",
        "name": "Alexandr Moshkov",
        "email": "dtalexundeer@yandex-team.ru"
    },
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260330095226.158386-1-dtalexundeer@yandex-team.ru/mbox/",
    "series": [
        {
            "id": 497991,
            "url": "http://patchwork.ozlabs.org/api/series/497991/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=497991",
            "date": "2026-03-30T09:52:26",
            "name": "vhost-user-blk: fix compatibility with older qemu versions",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/497991/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2217646/comments/",
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=yandex-team.ru header.i=@yandex-team.ru\n header.a=rsa-sha256 header.s=default header.b=rnSKKWF/;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)",
            "mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net;\n dkim=pass header.i=@yandex-team.ru"
        ],
        "Received": [
            "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fkmmc5fsqz1yG8\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 20:54:08 +1100 (AEDT)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w79Iy-0005Ry-DM; Mon, 30 Mar 2026 05:53:08 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <dtalexundeer@yandex-team.ru>)\n id 1w79Ic-0005N3-JY; Mon, 30 Mar 2026 05:52:48 -0400",
            "from forwardcorp1a.mail.yandex.net ([178.154.239.72])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <dtalexundeer@yandex-team.ru>)\n id 1w79IY-00063t-KC; Mon, 30 Mar 2026 05:52:46 -0400",
            "from mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net\n (mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net\n [IPv6:2a02:6b8:c2d:3530:0:640:eca4:0])\n by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 2C0E1C0159;\n Mon, 30 Mar 2026 12:52:34 +0300 (MSK)",
            "from dtalexundeer-nx.yandex-team.ru (unknown\n [2a02:6bf:8080:78d::1:13])\n by mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (smtpcorp/Yandex) with\n ESMTPSA id QqVNFG1Af4Y0-pZ3lppPK; Mon, 30 Mar 2026 12:52:33 +0300"
        ],
        "Precedence": "bulk",
        "X-Yandex-Fwd": "1",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru;\n s=default; t=1774864353;\n bh=1C8NOcIgMKyf0TAnc/Kx3aqOpisIbfms5084DDXyy/U=;\n h=Message-Id:Date:Cc:Subject:To:From;\n b=rnSKKWF/uXE9K7oj8AUMDP+10r6IbnkBKoMqWbkK5RPMfJpE+O8W7qc6pa+zGC49/\n VYon0R3gOelvWs1nNNDqZPZd0lvK/wfB39y4TPDkDqzu4sKAYniE2v/XTMJGSp66Qz\n paDsNmn3Wluz3CuKBbUaygTXN5gEuDHxemhNMy0s=",
        "From": "Alexandr Moshkov <dtalexundeer@yandex-team.ru>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "\"Gonglei (Arei)\" <arei.gonglei@huawei.com>,\n =?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,\n Milan Zamazal <mzamazal@redhat.com>, Raphael Norwitz <rnorwitz@nvidia.com>,\n Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,\n qemu-block@nongnu.org, Fam Zheng <fam@euphon.net>,\n zhenwei pi <zhenwei.pi@linux.dev>, Hanna Reitz <hreitz@redhat.com>,\n virtio-fs@lists.linux.dev, Pierrick Bouvier <pierrick.bouvier@linaro.org>,\n Stefano Garzarella <sgarzare@redhat.com>,\n \"Michael S. Tsirkin\" <mst@redhat.com>,\n \"yc-core@yandex-team.ru\" <yc-core@yandex-team.ru>,\n Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>,\n Alexandr Moshkov <dtalexundeer@yandex-team.ru>",
        "Subject": "[PATCH v3 0/5] vhost-user-blk: fix compatibility with older qemu\n versions",
        "Date": "Mon, 30 Mar 2026 14:52:21 +0500",
        "Message-Id": "<20260330095226.158386-1-dtalexundeer@yandex-team.ru>",
        "X-Mailer": "git-send-email 2.34.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Received-SPF": "pass client-ip=178.154.239.72;\n envelope-from=dtalexundeer@yandex-team.ru; helo=forwardcorp1a.mail.yandex.net",
        "X-Spam_score_int": "0",
        "X-Spam_score": "-0.1",
        "X-Spam_bar": "/",
        "X-Spam_report": "(-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=1, RCVD_IN_VALIDITY_RPBL_BLOCKED=1,\n SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.29",
        "List-Id": "qemu development <qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<https://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 <mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"
    },
    "content": "v2 -> v3:\n- fix complile problems\n- add assert check in do_vhost_virtio_stop\n- make inflight-migration property mutable\n\nv1 -> v2:\n- reorganize commits: make refactor commits first, then core semantic change\n- add additional pre_save check for inflight migration possibility\n\n---\n\nThis is a small continuation of my series about inflight migration for vhost-user-blk.\n\nThis series is designed to solve the problem of compatibility with older versions of qemu, where this feature has not yet been introduced (for example, if we want to downgrade versions due to some problems).\n\nIn the current version for vhost-user-blk, this feature is enabled using the parameter and further migration of the inflight region will depend on whether the vhost-user has accepted the new protocol feature or not. This creates an inconvenient dependency, because there is no way to disable this feature without reconnecting to the backend.\nThis series slightly changes the semantics of the introduced protocol feature VHOST_USER_PROTOCOL_F_GET_VRING_BASE_INFLIGHT. Enabling this feature adds a new parameter for GET_VRING_BASE message - skip_drain, which allows to control drain in-flight requests on the backend.\n\nThus, user can enable or disable inflight-migration param for vhost-user-blk to maintain compatibility with older versions of QEMU.\n\nAlexandr Moshkov (5):\n  vhost-user.rst: fix typo\n  vhost-user-blk: make inflight-migration prop mutable\n  vhost-user: add skip_drain param to do_vhost_virtqueue_stop\n  vhost-user-blk: move inflight_needed higher\n  vhost-user: add skip_drain param to GET_VRING_BASE\n\n backends/cryptodev-vhost.c     |  2 +-\n backends/vhost-user.c          |  2 +-\n docs/interop/vhost-user.rst    |  8 +++----\n hw/block/vhost-user-blk.c      | 43 +++++++++++++++++++++++++++-------\n hw/net/vhost_net.c             |  9 +++----\n hw/scsi/vhost-scsi-common.c    |  2 +-\n hw/virtio/vdpa-dev.c           |  2 +-\n hw/virtio/vhost-user-base.c    |  2 +-\n hw/virtio/vhost-user-fs.c      |  2 +-\n hw/virtio/vhost-user-scmi.c    |  2 +-\n hw/virtio/vhost-user.c         |  3 +--\n hw/virtio/vhost-vsock-common.c |  2 +-\n hw/virtio/vhost.c              | 29 ++++++++++++++++-------\n include/hw/virtio/vhost-user.h |  1 -\n include/hw/virtio/vhost.h      |  7 ++++--\n 15 files changed, 76 insertions(+), 40 deletions(-)"
}