get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1317140,
    "url": "http://patchwork.ozlabs.org/api/patches/1317140/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20200625184838.28172-7-philmd@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": "<20200625184838.28172-7-philmd@redhat.com>",
    "list_archive_url": null,
    "date": "2020-06-25T18:48:27",
    "name": "[06/17] block/nvme: Replace qemu_try_blockalign(bs) by qemu_try_memalign(pg_sz)",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "7cf705452d3e1c304542a9a368c5fbc1848f7758",
    "submitter": {
        "id": 74995,
        "url": "http://patchwork.ozlabs.org/api/people/74995/?format=api",
        "name": "Philippe Mathieu-Daudé",
        "email": "philmd@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20200625184838.28172-7-philmd@redhat.com/mbox/",
    "series": [
        {
            "id": 185846,
            "url": "http://patchwork.ozlabs.org/api/series/185846/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=185846",
            "date": "2020-06-25T18:48:21",
            "name": "block/nvme: Various cleanups required to use multiple queues",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/185846/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1317140/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1317140/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 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=<UNKNOWN>)",
            "ozlabs.org;\n dmarc=fail (p=none dis=none) header.from=redhat.com",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=HYrjrHri;\n\tdkim-atps=neutral",
            "relay.mimecast.com;\n auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com"
        ],
        "Received": [
            "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 49t8NR5cptz9sQt\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 26 Jun 2020 04:55:34 +1000 (AEST)",
            "from localhost ([::1]:34376 helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1joX23-0001ZL-PZ\n\tfor incoming@patchwork.ozlabs.org; Thu, 25 Jun 2020 14:55:31 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10]:40190)\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <philmd@redhat.com>) id 1joWvy-00089O-8T\n for qemu-devel@nongnu.org; Thu, 25 Jun 2020 14:49:14 -0400",
            "from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:59954\n helo=us-smtp-1.mimecast.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256)\n (Exim 4.90_1) (envelope-from <philmd@redhat.com>) id 1joWvw-000105-JN\n for qemu-devel@nongnu.org; Thu, 25 Jun 2020 14:49:13 -0400",
            "from mail-wr1-f69.google.com (mail-wr1-f69.google.com\n [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id\n us-mta-106-Ysx1IbTnMWaYsYQvie3BYg-1; Thu, 25 Jun 2020 14:49:10 -0400",
            "by mail-wr1-f69.google.com with SMTP id y16so7681434wrr.20\n for <qemu-devel@nongnu.org>; Thu, 25 Jun 2020 11:49:09 -0700 (PDT)",
            "from localhost.localdomain (1.red-83-51-162.dynamicip.rima-tde.net.\n [83.51.162.1])\n by smtp.gmail.com with ESMTPSA id a128sm3836778wmd.16.2020.06.25.11.49.07\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 25 Jun 2020 11:49:08 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1593110951;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=kMFGIAe9F8Mx1E0ELN020rjYS3A4x5nkx01FgAd9ah8=;\n b=HYrjrHriCDSkcOn0MkTloLhUncUOCtsHX9HjKPKWaIB49FvqC/T+8/a4olEkHIldoGlHCR\n pM03oj2mv7O+/TIE/BW85mPzL5+olIyHHZaa5CAuirq2xcY8KQa8mYgEzODQQwWZwcdFKV\n oXDRjl4ZAjCGrGmpz0wXc9nraiFncwA=",
        "X-MC-Unique": "Ysx1IbTnMWaYsYQvie3BYg-1",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=kMFGIAe9F8Mx1E0ELN020rjYS3A4x5nkx01FgAd9ah8=;\n b=ZZ8hPa6tc+Z0Jo/zj6sgvx4sFutY3Cj9Hw4Ze5Uj3ywXk67xNtd4HHxu2vNYtUNhwg\n ri7Zf48Kuf5wVecx6wERYexF6zuJ2XhvKKfdJSzZJVAQNUiYG0XdHFdVHHFkL3wItbiU\n ITFYDqlWWI3LZPsv+d11XuyBOgUljQx3h9aC3LDV54iKDhwjOcUVoiDBXH+aLU8qMmnX\n YT0qyxsK1io/7lfm17rN77fm+Ys8vEB5CORMSekgA5OUsSn4D8eS3Qc2h3WfZCUb06q/\n 9ZxBsf3pcNlCz7Eu7TlstnnsAxXc/gDkFl7vfDcwsPSHtWercS1bNR8Hn2RA6f+ncw4T\n GWow==",
        "X-Gm-Message-State": "AOAM532P5GJpV+cfUHPVG+fSnkqGxQ2+fnDnv0P+8yEti1vmAm3gGA2v\n al6jQhFC/ewk5a2MpDWpxEplGjS9eST7LE4OjRxUH3kOnEn45OB9I+8reRodDrHVojiflFXrBLF\n A/auy16y9Tz1kESA=",
        "X-Received": [
            "by 2002:adf:e701:: with SMTP id c1mr35470512wrm.350.1593110948671;\n Thu, 25 Jun 2020 11:49:08 -0700 (PDT)",
            "by 2002:adf:e701:: with SMTP id c1mr35470500wrm.350.1593110948516;\n Thu, 25 Jun 2020 11:49:08 -0700 (PDT)"
        ],
        "X-Google-Smtp-Source": "\n ABdhPJxZqCcd9hr13Iv6RBV39StHBd2PX84SsmW5r/RttbrT+dc/MtrAZzt386IwyUPEY0pXfHXCUg==",
        "From": "=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@redhat.com>",
        "To": "qemu-devel@nongnu.org,\n\tStefan Hajnoczi <stefanha@redhat.com>",
        "Subject": "[PATCH 06/17] block/nvme: Replace qemu_try_blockalign(bs) by\n qemu_try_memalign(pg_sz)",
        "Date": "Thu, 25 Jun 2020 20:48:27 +0200",
        "Message-Id": "<20200625184838.28172-7-philmd@redhat.com>",
        "X-Mailer": "git-send-email 2.21.3",
        "In-Reply-To": "<20200625184838.28172-1-philmd@redhat.com>",
        "References": "<20200625184838.28172-1-philmd@redhat.com>",
        "MIME-Version": "1.0",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Type": "text/plain; charset=UTF-8;\n\ttext/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "8bit",
        "Received-SPF": "pass client-ip=205.139.110.120; envelope-from=philmd@redhat.com;\n helo=us-smtp-1.mimecast.com",
        "X-detected-operating-system": "by eggs.gnu.org: First seen = 2020/06/25 00:45:15",
        "X-ACL-Warn": "Detected OS   = Linux 2.2.x-3.x [generic] [fuzzy]",
        "X-Spam_score_int": "-30",
        "X-Spam_score": "-3.1",
        "X-Spam_bar": "---",
        "X-Spam_report": "(-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,\n SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.23",
        "Precedence": "list",
        "List-Id": "<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>",
        "Cc": "Fam Zheng <fam@euphon.net>, Kevin Wolf <kwolf@redhat.com>,\n qemu-block@nongnu.org, Max Reitz <mreitz@redhat.com>,\n Maxim Levitsky <mlevitsk@redhat.com>,\n =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@redhat.com>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "\"Qemu-devel\"\n <qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"
    },
    "content": "qemu_try_blockalign() is a generic API that call back to the\nblock driver to return its page alignment. As we call from\nwithin the very same driver, we already know to page alignment\nstored in our state. Remove indirections and use the value from\nBDRVNVMeState.\n\nSigned-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>\n---\n block/nvme.c | 10 +++++-----\n 1 file changed, 5 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/block/nvme.c b/block/nvme.c\nindex bdddcd975d..cec9ace3dd 100644\n--- a/block/nvme.c\n+++ b/block/nvme.c\n@@ -158,7 +158,7 @@ static void nvme_init_queue(BlockDriverState *bs, NVMeQueue *q,\n \n     bytes = ROUND_UP(nentries * entry_bytes, s->page_size);\n     q->head = q->tail = 0;\n-    q->queue = qemu_try_blockalign(bs, bytes);\n+    q->queue = qemu_try_memalign(s->page_size, bytes);\n     if (!q->queue) {\n         error_setg(errp, \"Cannot allocate queue\");\n         return;\n@@ -204,7 +204,7 @@ static NVMeQueuePair *nvme_create_queue_pair(BlockDriverState *bs,\n     if (!q) {\n         return NULL;\n     }\n-    q->prp_list_pages = qemu_try_blockalign(bs,\n+    q->prp_list_pages = qemu_try_memalign(s->page_size,\n                                           s->page_size * NVME_QUEUE_SIZE);\n     if (!q->prp_list_pages) {\n         goto fail;\n@@ -451,7 +451,7 @@ static void nvme_identify(BlockDriverState *bs, int namespace, Error **errp)\n     };\n \n     idsz_max = MAX_CONST(sizeof(NvmeIdCtrl), sizeof(NvmeIdNs));\n-    resp = qemu_try_blockalign(bs, idsz_max);\n+    resp = qemu_try_memalign(s->page_size, idsz_max);\n     if (!resp) {\n         error_setg(errp, \"Cannot allocate buffer for identify response\");\n         goto out;\n@@ -1061,7 +1061,7 @@ static int nvme_co_prw(BlockDriverState *bs, uint64_t offset, uint64_t bytes,\n         return nvme_co_prw_aligned(bs, offset, bytes, qiov, is_write, flags);\n     }\n     trace_nvme_prw_buffered(s, offset, bytes, qiov->niov, is_write);\n-    buf = qemu_try_blockalign(bs, bytes);\n+    buf = qemu_try_memalign(s->page_size, bytes);\n \n     if (!buf) {\n         return -ENOMEM;\n@@ -1205,7 +1205,7 @@ static int coroutine_fn nvme_co_pdiscard(BlockDriverState *bs,\n \n     assert(s->nr_queues > 1);\n \n-    buf = qemu_try_blockalign(bs, s->page_size);\n+    buf = qemu_try_memalign(s->page_size, s->page_size);\n     if (!buf) {\n         return -ENOMEM;\n     }\n",
    "prefixes": [
        "06/17"
    ]
}