get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2218155/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2218155,
    "url": "http://patchwork.ozlabs.org/api/patches/2218155/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260331134721.96047-1-maxpain@linux.com/",
    "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": "<20260331134721.96047-1-maxpain@linux.com>",
    "list_archive_url": null,
    "date": "2026-03-31T13:47:21",
    "name": "[v2] vhost-user-blk: do not force VIRTIO_BLK_F_SIZE_MAX",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "73ef278394afdd36f245c9451ace9a45e55786ac",
    "submitter": {
        "id": 93011,
        "url": "http://patchwork.ozlabs.org/api/people/93011/?format=api",
        "name": "Max Makarov",
        "email": "maxpain177@gmail.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260331134721.96047-1-maxpain@linux.com/mbox/",
    "series": [
        {
            "id": 498202,
            "url": "http://patchwork.ozlabs.org/api/series/498202/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=498202",
            "date": "2026-03-31T13:47:21",
            "name": "[v2] vhost-user-blk: do not force VIRTIO_BLK_F_SIZE_MAX",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/498202/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2218155/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218155/checks/",
    "tags": {},
    "related": [],
    "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 (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=FZBK1OfL;\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)"
        ],
        "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 4flTvq2qvQz1y1q\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 01 Apr 2026 00:47:51 +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 1w7ZRY-00066b-1y; Tue, 31 Mar 2026 09:47:44 -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 <maxpain177@gmail.com>)\n id 1w7ZRI-0005XI-8R\n for qemu-devel@nongnu.org; Tue, 31 Mar 2026 09:47:28 -0400",
            "from mail-lf1-x12f.google.com ([2a00:1450:4864:20::12f])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <maxpain177@gmail.com>)\n id 1w7ZRG-0001Ae-DU\n for qemu-devel@nongnu.org; Tue, 31 Mar 2026 09:47:27 -0400",
            "by mail-lf1-x12f.google.com with SMTP id\n 2adb3069b0e04-5a2ad56dbb2so3762367e87.3\n for <qemu-devel@nongnu.org>; Tue, 31 Mar 2026 06:47:25 -0700 (PDT)",
            "from localhost.localdomain ([89.21.130.68])\n by smtp.gmail.com with ESMTPSA id\n 38308e7fff4ca-38c838e02c5sm21611701fa.36.2026.03.31.06.47.22\n (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);\n Tue, 31 Mar 2026 06:47:22 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1774964843; x=1775569643; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=mGWzXS8O6bMcd3O5FYHqt6YPOxXLQBaPdBZlp2AaDN4=;\n b=FZBK1OfLQ9eey+mXRhQDXFNhUvIlfY/xx/YLDWqIb1/RzB0tyuIagyZ9BbhIzVwKrG\n taLEcYloxt3LqW003sW0zDAydSyV0v4u5Sr/1qzTUgMADRyd/fFVn9otbPN9CsQjuXU/\n IYpokottVVPK/APvWN+BlWPclho+8AQGRT5GQzQgu7uSsDYj9TFwtbm9206/tvYmnoh7\n yh1oN2dpo+RJeIIBxFuqdGZm/wV6EbmOY2NYaXmMnVWKa2PbpbjSMxuu3KZYkyd17e/x\n m9nkqiJshCfKPAUybjdK+Juk701ObIOszkJNjRuewegDdG1kaYMNlMypeN4p+x00L/Ug\n k2Ig==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774964843; x=1775569643;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=mGWzXS8O6bMcd3O5FYHqt6YPOxXLQBaPdBZlp2AaDN4=;\n b=bAt2+O3oNUglMPak790DCFURzK2P4boXq3p9KPm75O/3SCraHGaIJZmPplDXwdujca\n ZD4yiPvQ/1X2NLVVLZxiUJwlGmIBNZ8qNAvjejE/rJWB3ahby1QCbIB7TDN9Bb0ouijc\n iDoNhf1fwIgYioJfQ71gM2CfZYaNXG2x4TTBhJms+ZGG0BOY16J20bOKeKyBm/DGYL/u\n rS6I0BSOwKKfi+6HMHd1v7NpRTOZ6I9YvV/O8FMwlxw1mw/NvHTZOGLx1oYvzr47mqPQ\n elEeEQqptjx8sYVfkgPqKyXBqjS9A52yTgP4a6q87Rpoyp2fZe2rCfdFHmG8qWDjnzse\n 4IFQ==",
        "X-Gm-Message-State": "AOJu0Yyl1n69+T6BSCHuEnV1cVhC5UaGjUrQtUeqtYrld/By8TkBPfzq\n 2A2pXNaAwpMGp8/A9CMbTfbKbiN89DCmgkFG7gxA2Zmbx6Kxbj768xIYVgQ0FmQi",
        "X-Gm-Gg": "ATEYQzzYHiFRcurbuS2cm6FLVD7GQ1buC8J4SZROTWpuM/JnkcpPtwvYPkrQ/N6LzCm\n 6V8g1gUMLyB2BAwXzM1V/UJzazjH8XPxMBh43NmyDiJkhq4a/pz0spe0nxiOQ8k04chhiQsgqzK\n TTQniymn9PehAOj7a7QmjWv8axnew8TajU53CFYY/iXAL8RvFdlKXfTJ/lO3nMGyU0xC411C7Zb\n kYv/nfOG7djEtSCR5SVQlOC/md+xqUpIRSZ0S6eDLrtMGduRO2yYuMif5vxV+Z1eLeD/GBR04lz\n e8mhJEmMGXCyZIT0FlL4Jsp5IoE7+uiHkM6Q8T4FZg3ZBlVokqIXpmIs28m36xbKEiXobHcSKyu\n bH6OjoNu3+Aew0P4s+wNLFhtPGhAHLgNITkBLvdJAlpQpwZtju1sTnjeeQGgtv6PoakR2Qz/jXy\n XPcmSjvkcOZG83mLISAESMyxdWUp4mqbEqwj+MV229HoOL6A==",
        "X-Received": "by 2002:a05:6512:3c96:b0:5a2:bac6:c924 with SMTP id\n 2adb3069b0e04-5a2bac6c998mr1455859e87.15.1774964843159;\n Tue, 31 Mar 2026 06:47:23 -0700 (PDT)",
        "From": "Max Makarov <maxpain177@gmail.com>",
        "X-Google-Original-From": "Max Makarov <maxpain@linux.com>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "qemu-block@nongnu.org, Coiby Xu <Coiby.Xu@gmail.com>,\n Stefano Garzarella <sgarzare@redhat.com>,\n \"Michael S . Tsirkin\" <mst@redhat.com>, Kevin Wolf <kwolf@redhat.com>,\n Hanna Reitz <hreitz@redhat.com>, Max Makarov <maxpain@linux.com>",
        "Subject": "[PATCH v2] vhost-user-blk: do not force VIRTIO_BLK_F_SIZE_MAX",
        "Date": "Tue, 31 Mar 2026 16:47:21 +0300",
        "Message-ID": "<20260331134721.96047-1-maxpain@linux.com>",
        "X-Mailer": "git-send-email 2.50.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Received-SPF": "pass client-ip=2a00:1450:4864:20::12f;\n envelope-from=maxpain177@gmail.com; helo=mail-lf1-x12f.google.com",
        "X-Spam_score_int": "-17",
        "X-Spam_score": "-1.8",
        "X-Spam_bar": "-",
        "X-Spam_report": "(-1.8 / 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 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "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": "vhost_user_blk_get_features() unconditionally advertises\nVIRTIO_BLK_F_SIZE_MAX regardless of what the backend reports in\nits config. The built-in QSD vhost-user-blk backend sets\nsize_max=0, creating a contradictory state where the feature bit\ntells the guest that size_max is valid but the value is zero.\n\nThe in-process virtio-blk device does not advertise\nVIRTIO_BLK_F_SIZE_MAX (it also sets size_max=0 in config), so\nguests never see this contradiction with native virtio-blk.\n\nLinux tolerates size_max=0 because blk_validate_limits() silently\ncorrects max_segment_size=0 to BLK_MAX_SEGMENT_SIZE (65536).\nWindows viostor, however, trusts the feature bit and uses the raw\nsize_max=0 in its scatter-gather calculations, producing\nzero-length segments that hang I/O. The disk appears empty to\nWindows (no GPT, no partitions), causing INACCESSIBLE_BOOT_DEVICE.\n\nStop force-adding VIRTIO_BLK_F_SIZE_MAX in the frontend. The\nfeature remains in user_feature_bits[], so backends that properly\nadvertise it with a valid config value will still work.\n\nSigned-off-by: Max Makarov <maxpain@linux.com>\n---\nv2:\n - Remove the VIRTIO_BLK_F_SIZE_MAX feature bit from the frontend\n   instead of setting size_max=4096 in the backend config [Kevin Wolf]\n - Fix incorrect claim about Linux PAGE_SIZE fallback\n - Drop unrelated Buglink tags\n---\n hw/block/vhost-user-blk.c | 1 -\n 1 file changed, 1 deletion(-)",
    "diff": "diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c\nindex c151e83..7ba6562 100644\n--- a/hw/block/vhost-user-blk.c\n+++ b/hw/block/vhost-user-blk.c\n@@ -273,7 +273,6 @@ static uint64_t vhost_user_blk_get_features(VirtIODevice *vdev,\n     VHostUserBlk *s = VHOST_USER_BLK(vdev);\n \n     /* Turn on pre-defined features */\n-    virtio_add_feature(&features, VIRTIO_BLK_F_SIZE_MAX);\n     virtio_add_feature(&features, VIRTIO_BLK_F_SEG_MAX);\n     virtio_add_feature(&features, VIRTIO_BLK_F_GEOMETRY);\n     virtio_add_feature(&features, VIRTIO_BLK_F_TOPOLOGY);\n",
    "prefixes": [
        "v2"
    ]
}