get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 814199,
    "url": "http://patchwork.ozlabs.org/api/patches/814199/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170915101008.16646-6-kwolf@redhat.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": "<20170915101008.16646-6-kwolf@redhat.com>",
    "list_archive_url": null,
    "date": "2017-09-15T10:10:07",
    "name": "[5/6] block: reopen: Queue children after their parents",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "3b67a7fdb2149d847fde216a080938527b17d137",
    "submitter": {
        "id": 2714,
        "url": "http://patchwork.ozlabs.org/api/people/2714/?format=api",
        "name": "Kevin Wolf",
        "email": "kwolf@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170915101008.16646-6-kwolf@redhat.com/mbox/",
    "series": [
        {
            "id": 3264,
            "url": "http://patchwork.ozlabs.org/api/series/3264/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=3264",
            "date": "2017-09-15T10:10:02",
            "name": "block: Fix permissions after ro/rw reopen",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/3264/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/814199/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/814199/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>)",
            "ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com",
            "ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=kwolf@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 3xtrr63MhBz9sxR\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 15 Sep 2017 20:15:18 +1000 (AEST)",
            "from localhost ([::1]:52358 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 1dsneW-0006h0-IZ\n\tfor incoming@patchwork.ozlabs.org; Fri, 15 Sep 2017 06:15:16 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:37388)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <kwolf@redhat.com>) id 1dsna3-0002Iu-HC\n\tfor qemu-devel@nongnu.org; Fri, 15 Sep 2017 06:10:44 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <kwolf@redhat.com>) id 1dsnZz-0004Uj-Hq\n\tfor qemu-devel@nongnu.org; Fri, 15 Sep 2017 06:10:39 -0400",
            "from mx1.redhat.com ([209.132.183.28]:38504)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <kwolf@redhat.com>)\n\tid 1dsnZr-0004M0-97; Fri, 15 Sep 2017 06:10:27 -0400",
            "from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\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 67306C04B318;\n\tFri, 15 Sep 2017 10:10:26 +0000 (UTC)",
            "from localhost.localdomain.com (ovpn-117-157.ams2.redhat.com\n\t[10.36.117.157])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 7066C69503;\n\tFri, 15 Sep 2017 10:10:22 +0000 (UTC)"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com 67306C04B318",
        "From": "Kevin Wolf <kwolf@redhat.com>",
        "To": "qemu-block@nongnu.org",
        "Date": "Fri, 15 Sep 2017 12:10:07 +0200",
        "Message-Id": "<20170915101008.16646-6-kwolf@redhat.com>",
        "In-Reply-To": "<20170915101008.16646-1-kwolf@redhat.com>",
        "References": "<20170915101008.16646-1-kwolf@redhat.com>",
        "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.16",
        "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.31]);\n\tFri, 15 Sep 2017 10:10:26 +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 5/6] block: reopen: Queue children after their\n\tparents",
        "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": "kwolf@redhat.com, famz@redhat.com, qemu-devel@nongnu.org,\n\tmreitz@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": "We will calculate the required new permissions in the prepare stage of a\nreopen. Required permissions of children can be influenced by the\nchanges made to their parents, but parents are independent from their\nchildren. This means that permissions need to be calculated top-down. In\norder to achieve this, queue parents before their children rather than\nqueuing the children first.\n\nSigned-off-by: Kevin Wolf <kwolf@redhat.com>\n---\n block.c | 26 +++++++++++++-------------\n 1 file changed, 13 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/block.c b/block.c\nindex ed8d51dd42..204cbb46c7 100644\n--- a/block.c\n+++ b/block.c\n@@ -2768,6 +2768,19 @@ static BlockReopenQueue *bdrv_reopen_queue_child(BlockReopenQueue *bs_queue,\n         flags |= BDRV_O_ALLOW_RDWR;\n     }\n \n+    if (!bs_entry) {\n+        bs_entry = g_new0(BlockReopenQueueEntry, 1);\n+        QSIMPLEQ_INSERT_TAIL(bs_queue, bs_entry, entry);\n+    } else {\n+        QDECREF(bs_entry->state.options);\n+        QDECREF(bs_entry->state.explicit_options);\n+    }\n+\n+    bs_entry->state.bs = bs;\n+    bs_entry->state.options = options;\n+    bs_entry->state.explicit_options = explicit_options;\n+    bs_entry->state.flags = flags;\n+\n     QLIST_FOREACH(child, &bs->children, next) {\n         QDict *new_child_options;\n         char *child_key_dot;\n@@ -2787,19 +2800,6 @@ static BlockReopenQueue *bdrv_reopen_queue_child(BlockReopenQueue *bs_queue,\n                                 child->role, options, flags);\n     }\n \n-    if (!bs_entry) {\n-        bs_entry = g_new0(BlockReopenQueueEntry, 1);\n-        QSIMPLEQ_INSERT_TAIL(bs_queue, bs_entry, entry);\n-    } else {\n-        QDECREF(bs_entry->state.options);\n-        QDECREF(bs_entry->state.explicit_options);\n-    }\n-\n-    bs_entry->state.bs = bs;\n-    bs_entry->state.options = options;\n-    bs_entry->state.explicit_options = explicit_options;\n-    bs_entry->state.flags = flags;\n-\n     return bs_queue;\n }\n \n",
    "prefixes": [
        "5/6"
    ]
}