get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 814955,
    "url": "http://patchwork.ozlabs.org/api/patches/814955/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/8a6558d4554e246725c9e5e0cc67c728edc57fa9.1505737465.git.maozy.fnst@cn.fujitsu.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": "<8a6558d4554e246725c9e5e0cc67c728edc57fa9.1505737465.git.maozy.fnst@cn.fujitsu.com>",
    "list_archive_url": null,
    "date": "2017-09-18T14:05:16",
    "name": "[v3,4/6] hw/block: Fix the return type",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "672376b76d29db5a08f5647e2854301582b9587a",
    "submitter": {
        "id": 71231,
        "url": "http://patchwork.ozlabs.org/api/people/71231/?format=api",
        "name": "Mao Zhongyi",
        "email": "maozy.fnst@cn.fujitsu.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/8a6558d4554e246725c9e5e0cc67c728edc57fa9.1505737465.git.maozy.fnst@cn.fujitsu.com/mbox/",
    "series": [
        {
            "id": 3655,
            "url": "http://patchwork.ozlabs.org/api/series/3655/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=3655",
            "date": "2017-09-18T14:05:14",
            "name": "Convert to realize and improve error handling",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/3655/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/814955/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/814955/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@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>)",
        "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 3xwnzN1WT1z9s7M\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Sep 2017 00:13:20 +1000 (AEST)",
            "from localhost ([::1]:36870 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 1dtwnW-0004qy-9i\n\tfor incoming@patchwork.ozlabs.org; Mon, 18 Sep 2017 10:13:18 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:42928)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <maozy.fnst@cn.fujitsu.com>) id 1dtwiU-0000hS-TZ\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 10:08:09 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <maozy.fnst@cn.fujitsu.com>) id 1dtwiQ-0006Pv-Hm\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 10:08:06 -0400",
            "from mail.cn.fujitsu.com ([183.91.158.132]:43708\n\thelo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <maozy.fnst@cn.fujitsu.com>) id 1dtwiP-0006Og-Ob\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 10:08:02 -0400",
            "from localhost (HELO cn.fujitsu.com) ([10.167.33.5])\n\tby heian.cn.fujitsu.com with ESMTP; 18 Sep 2017 22:07:50 +0800",
            "from G08CNEXCHPEKD03.g08.fujitsu.local (unknown [10.167.33.85])\n\tby cn.fujitsu.com (Postfix) with ESMTP id 431EA47ACDC5;\n\tMon, 18 Sep 2017 22:07:48 +0800 (CST)",
            "from maozy.g08.fujitsu.local (10.167.225.76) by\n\tG08CNEXCHPEKD03.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP\n\tServer (TLS) id 14.3.361.1; Mon, 18 Sep 2017 22:07:50 +0800"
        ],
        "X-IronPort-AV": "E=Sophos;i=\"5.42,413,1500912000\"; d=\"scan'208\";a=\"26773972\"",
        "From": "Mao Zhongyi <maozy.fnst@cn.fujitsu.com>",
        "To": "<qemu-devel@nongnu.org>",
        "Date": "Mon, 18 Sep 2017 22:05:16 +0800",
        "Message-ID": "<8a6558d4554e246725c9e5e0cc67c728edc57fa9.1505737465.git.maozy.fnst@cn.fujitsu.com>",
        "X-Mailer": "git-send-email 2.9.4",
        "In-Reply-To": "<cover.1505737465.git.maozy.fnst@cn.fujitsu.com>",
        "References": "<cover.1505737465.git.maozy.fnst@cn.fujitsu.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.167.225.76]",
        "X-yoursite-MailScanner-ID": "431EA47ACDC5.A3F2F",
        "X-yoursite-MailScanner": "Found to be clean",
        "X-yoursite-MailScanner-From": "maozy.fnst@cn.fujitsu.com",
        "X-detected-operating-system": "by eggs.gnu.org: Genre and OS details not\n\trecognized.",
        "X-Received-From": "183.91.158.132",
        "Subject": "[Qemu-devel] [PATCH v3 4/6] hw/block: Fix the return type",
        "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": "Kevin Wolf <kwolf@redhat.com>, John Snow <jsnow@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, Max Reitz <mreitz@redhat.com>",
        "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": "When the function no success value to transmit, it usually make the\nfunction return void. It has turned out not to be a success, because\nit means that the extra local_err variable and error_propagate() will\nbe needed. It leads to cumbersome code, therefore, transmit success/\nfailure in the return value is worth.\n\nSo fix the return type of blkconf_apply_backend_options(),\nblkconf_geometry() and virtio_blk_data_plane_create() to avoid it.\n\nCc: John Snow <jsnow@redhat.com>\nCc: Kevin Wolf <kwolf@redhat.com>\nCc: Max Reitz <mreitz@redhat.com>\nCc: Stefan Hajnoczi <stefanha@redhat.com>\n\nSigned-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com>\nReviewed-by: Stefan Hajnoczi <stefanha@redhat.com>\n---\n hw/block/block.c                | 15 +++++++++------\n hw/block/dataplane/virtio-blk.c | 12 +++++++-----\n hw/block/dataplane/virtio-blk.h |  2 +-\n include/hw/block/block.h        |  4 ++--\n 4 files changed, 19 insertions(+), 14 deletions(-)",
    "diff": "diff --git a/hw/block/block.c b/hw/block/block.c\nindex 27878d0..b0269c8 100644\n--- a/hw/block/block.c\n+++ b/hw/block/block.c\n@@ -51,7 +51,7 @@ void blkconf_blocksizes(BlockConf *conf)\n     }\n }\n \n-void blkconf_apply_backend_options(BlockConf *conf, bool readonly,\n+bool blkconf_apply_backend_options(BlockConf *conf, bool readonly,\n                                    bool resizable, Error **errp)\n {\n     BlockBackend *blk = conf->blk;\n@@ -76,7 +76,7 @@ void blkconf_apply_backend_options(BlockConf *conf, bool readonly,\n \n     ret = blk_set_perm(blk, perm, shared_perm, errp);\n     if (ret < 0) {\n-        return;\n+        return false;\n     }\n \n     switch (conf->wce) {\n@@ -99,9 +99,11 @@ void blkconf_apply_backend_options(BlockConf *conf, bool readonly,\n \n     blk_set_enable_write_cache(blk, wce);\n     blk_set_on_error(blk, rerror, werror);\n+\n+    return true;\n }\n \n-void blkconf_geometry(BlockConf *conf, int *ptrans,\n+bool blkconf_geometry(BlockConf *conf, int *ptrans,\n                       unsigned cyls_max, unsigned heads_max, unsigned secs_max,\n                       Error **errp)\n {\n@@ -129,15 +131,16 @@ void blkconf_geometry(BlockConf *conf, int *ptrans,\n     if (conf->cyls || conf->heads || conf->secs) {\n         if (conf->cyls < 1 || conf->cyls > cyls_max) {\n             error_setg(errp, \"cyls must be between 1 and %u\", cyls_max);\n-            return;\n+            return false;\n         }\n         if (conf->heads < 1 || conf->heads > heads_max) {\n             error_setg(errp, \"heads must be between 1 and %u\", heads_max);\n-            return;\n+            return false;\n         }\n         if (conf->secs < 1 || conf->secs > secs_max) {\n             error_setg(errp, \"secs must be between 1 and %u\", secs_max);\n-            return;\n+            return false;\n         }\n     }\n+    return true;\n }\ndiff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c\nindex 5556f0e..f6fc639 100644\n--- a/hw/block/dataplane/virtio-blk.c\n+++ b/hw/block/dataplane/virtio-blk.c\n@@ -76,7 +76,7 @@ static void notify_guest_bh(void *opaque)\n }\n \n /* Context: QEMU global mutex held */\n-void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,\n+bool virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,\n                                   VirtIOBlockDataPlane **dataplane,\n                                   Error **errp)\n {\n@@ -91,11 +91,11 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,\n             error_setg(errp,\n                        \"device is incompatible with iothread \"\n                        \"(transport does not support notifiers)\");\n-            return;\n+            return false;\n         }\n         if (!virtio_device_ioeventfd_enabled(vdev)) {\n             error_setg(errp, \"ioeventfd is required for iothread\");\n-            return;\n+            return false;\n         }\n \n         /* If dataplane is (re-)enabled while the guest is running there could\n@@ -103,12 +103,12 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,\n          */\n         if (blk_op_is_blocked(conf->conf.blk, BLOCK_OP_TYPE_DATAPLANE, errp)) {\n             error_prepend(errp, \"cannot start virtio-blk dataplane: \");\n-            return;\n+            return false;\n         }\n     }\n     /* Don't try if transport does not support notifiers. */\n     if (!virtio_device_ioeventfd_enabled(vdev)) {\n-        return;\n+        return false;\n     }\n \n     s = g_new0(VirtIOBlockDataPlane, 1);\n@@ -126,6 +126,8 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,\n     s->batch_notify_vqs = bitmap_new(conf->num_queues);\n \n     *dataplane = s;\n+\n+    return true;\n }\n \n /* Context: QEMU global mutex held */\ndiff --git a/hw/block/dataplane/virtio-blk.h b/hw/block/dataplane/virtio-blk.h\nindex db3f47b..5e18bb9 100644\n--- a/hw/block/dataplane/virtio-blk.h\n+++ b/hw/block/dataplane/virtio-blk.h\n@@ -19,7 +19,7 @@\n \n typedef struct VirtIOBlockDataPlane VirtIOBlockDataPlane;\n \n-void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,\n+bool virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,\n                                   VirtIOBlockDataPlane **dataplane,\n                                   Error **errp);\n void virtio_blk_data_plane_destroy(VirtIOBlockDataPlane *s);\ndiff --git a/include/hw/block/block.h b/include/hw/block/block.h\nindex f3f6e8e..64b9298 100644\n--- a/include/hw/block/block.h\n+++ b/include/hw/block/block.h\n@@ -72,11 +72,11 @@ static inline unsigned int get_physical_block_exp(BlockConf *conf)\n /* Configuration helpers */\n \n void blkconf_serial(BlockConf *conf, char **serial);\n-void blkconf_geometry(BlockConf *conf, int *trans,\n+bool blkconf_geometry(BlockConf *conf, int *trans,\n                       unsigned cyls_max, unsigned heads_max, unsigned secs_max,\n                       Error **errp);\n void blkconf_blocksizes(BlockConf *conf);\n-void blkconf_apply_backend_options(BlockConf *conf, bool readonly,\n+bool blkconf_apply_backend_options(BlockConf *conf, bool readonly,\n                                    bool resizable, Error **errp);\n \n /* Hard disk geometry */\n",
    "prefixes": [
        "v3",
        "4/6"
    ]
}