get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2235276,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2235276/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260509005453.3984184-3-pierrick.bouvier@oss.qualcomm.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.2/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": "<20260509005453.3984184-3-pierrick.bouvier@oss.qualcomm.com>",
    "list_archive_url": null,
    "date": "2026-05-09T00:54:49",
    "name": "[v5,2/6] qom/object: initialize type_table in static ctor with fundamental QOM types",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "79070bd1b15e7c07a1adbf2dbe492940444424eb",
    "submitter": {
        "id": 93152,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/93152/?format=api",
        "name": "Pierrick Bouvier",
        "email": "pierrick.bouvier@oss.qualcomm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260509005453.3984184-3-pierrick.bouvier@oss.qualcomm.com/mbox/",
    "series": [
        {
            "id": 503469,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/503469/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=503469",
            "date": "2026-05-09T00:54:47",
            "name": "single-binary: deduplicate target_info()",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/503469/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2235276/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2235276/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=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=OTmYcROJ;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=jVYduqes;\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=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from lists1p.gnu.org (lists1p.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 4gC6xp5nw8z1yCg\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 09 May 2026 10:56:30 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wLVyg-0000el-KW; Fri, 08 May 2026 20:55:36 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pierrick.bouvier@oss.qualcomm.com>)\n id 1wLVyN-0000TX-CM\n for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:20 -0400",
            "from mx0a-0031df01.pphosted.com ([205.220.168.131])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pierrick.bouvier@oss.qualcomm.com>)\n id 1wLVyK-0005xg-Op\n for qemu-devel@nongnu.org; Fri, 08 May 2026 20:55:15 -0400",
            "from pps.filterd (m0279865.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 648HU2mC2515326\n for <qemu-devel@nongnu.org>; Sat, 9 May 2026 00:55:11 GMT",
            "from mail-dy1-f198.google.com (mail-dy1-f198.google.com\n [74.125.82.198])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e1m9ns5gf-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <qemu-devel@nongnu.org>; Sat, 09 May 2026 00:55:11 +0000 (GMT)",
            "by mail-dy1-f198.google.com with SMTP id\n 5a478bee46e88-2f3eb8f3419so368128eec.1\n for <qemu-devel@nongnu.org>; Fri, 08 May 2026 17:55:11 -0700 (PDT)",
            "from hu-pbouvier-lv.qualcomm.com (Global_NAT1.qualcomm.com.\n [129.46.96.20]) by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2f888c3b301sm5352610eec.23.2026.05.08.17.55.08\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 08 May 2026 17:55:08 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n cc:content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=qcppdkim1; bh=BJj8s2vRp8m\n 9n1bJfX7JiIDpyg6+MDEeWrD16gq9sQ4=; b=OTmYcROJxohrUnEHB3ceH4NiOJd\n kWmlbYKvNWVU8sPGk+x5F1KG8mxsng61Kjd01JB29XB5j3iCw77TgCPFUJPhjuxr\n M63y8mhB3uElUogec9k87SaYx/zUnD9mBiJpCvja0uGJNvETy4/FdCW4u7zsVUCJ\n ewH3aA8QrvJ5Hb3uPatmmDDH1uw8jearFGcmbhqlhzcw28P9RucVyUepNaAh9u8F\n wMg2fl1UZUfnjx/EMIYOIdSsqPH77FdkFH8vSoQUPtWZ26afYmRHmkWRIB5NCmRQ\n ela6NdxrD0mONghFDUtQVVXtG+n8zye9ApDDSMt8w5gVlcUHPzdo/zK69Ng==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1778288110; x=1778892910; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=BJj8s2vRp8m9n1bJfX7JiIDpyg6+MDEeWrD16gq9sQ4=;\n b=jVYduqesJ5Ebhoj9qNC7lF1clfDgJF+Py0OP/OSnimCPtqizkCN1XUIFkTcnlHVraz\n Vu0pe8alp5zUP1o1hIznCGDfykgXUpcxgW6T/2DcYY4H1nfPo3inuAsO9vME52NtudZs\n WoI46f+D7uBhxWjz0Al9MP2UFBN7hAT3AdbFou4Y84GWDOOzP3ZOauIXf+uQQ0p4bLEX\n 6JNjkUXXQXnTbeT4N/pnoPCV/g2pi2cBPULRcsFKwaXnLsu6sSCBlrnTfOSHp4FTSHfM\n jzvgstaCybo5dwiCI/F4udY2JjHXKw00G31VyNxx+7KCc1PcZeZrLSV/wag6Shwa46Q9\n XrjA=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778288110; x=1778892910;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=BJj8s2vRp8m9n1bJfX7JiIDpyg6+MDEeWrD16gq9sQ4=;\n b=mYFb2MsfSACTXCe51Ggq3iaEu5e60WNnsUYDDVRoOOYEi3yN9tmM53QGVd4P4BMBCH\n am4jfAGKNMwJVOxSKNbuSaksMsUNW2gYYJnLVHQ4p2PA2DWL67YkOqKD7SokSzH7ecK3\n nFOucI246D/h6pyKoZXGozkGdSaNYjuIqRY0luPw6Yxu5AwmA44jAidhTDebuMdo2YH5\n U8b6ZbipH9VIJHKcnItqHvx+GpdFRzJ9TagbWb8xhcBZKZZOK2IwKQfJEtjxdprDrY2g\n JIZzY1DTV52UfvYbbUxY8kGRp/ph7nfAdpsDarmir93LFNZPuuMr6erw3wruDbRs9Z4B\n b8zQ==",
        "X-Gm-Message-State": "AOJu0Yxif95PBVK7/wVgEtgD01L0Iy1tI8KrJbfDZ8gjUp/4XmkM+U6Q\n YFZQkHG1bz62mnVG4JuWakZrUvW3RDRXyhFh01v4TtWH2wPaRX2egXPy9Jseh9iks8YR36jxz0r\n JOtAu1v4c2A/rHy6XAAH7OSoCnhesUkhiHiSWuGaamOTZichi0Yq5wJfm5XVulXFPN6iq",
        "X-Gm-Gg": "AeBDieu3kB7OwSqayTlh7syNnQlHYbkS6KDri2lbdaTi5X5s91jr8iitywKHGMgwVTD\n bdXXA5nJ6ViOROFtR3MMrQTJ8G+y3Qbg5SElCEzzW65p9OGHNFaandgKzn3F52lti0cItMP0/kv\n 6zq8H6FUvuWlyMJspUjh4dSHUT+cL3f/tD2xvrTdEF+9Gi8v/xIWLQMqFzfUx1QoNqAGZTE5vWY\n 9jDj0d9yY7AmCrA3T9tQQ/CNi85TMYmsEaSMV2ioD55Vs11L+wbXDqrqvhsyN8+YYRXm3pHApLy\n udsjFLFHhwgzVzfffQYLs3V0BqfBoSefgDUHNnDenJrA8ykt3lpouPJQW+PcwetnRrpxuqFrLRe\n jYAOJVmCv0U1X8B1+0PnVFtYcz49qLeu0pPZXryB1BG2WD2BnYxFqa/F5bB4cotnL19fYoaG6r3\n njfFtzSg==",
        "X-Received": [
            "by 2002:a05:7301:1014:b0:2f9:5c29:ffb6 with SMTP id\n 5a478bee46e88-2f95c2a01a1mr1081890eec.13.1778288110125;\n Fri, 08 May 2026 17:55:10 -0700 (PDT)",
            "by 2002:a05:7301:1014:b0:2f9:5c29:ffb6 with SMTP id\n 5a478bee46e88-2f95c2a01a1mr1081868eec.13.1778288109470;\n Fri, 08 May 2026 17:55:09 -0700 (PDT)"
        ],
        "From": "Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "Richard Henderson <richard.henderson@linaro.org>, =?utf-8?q?Daniel_P=2E_?=\n\t=?utf-8?q?Berrang=C3=A9?= <berrange@redhat.com>, =?utf-8?q?Marc-Andr=C3=A9_?=\n\t=?utf-8?q?Lureau?= <marcandre.lureau@redhat.com>,\n Markus Armbruster <armbru@redhat.com>, Max Filippov <jcmvbkbc@gmail.com>,\n Paolo Bonzini <pbonzini@redhat.com>,\n =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,\n Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>,\n Anton Johansson <anjo@rev.ng>",
        "Subject": "[PATCH v5 2/6] qom/object: initialize type_table in static ctor with\n fundamental QOM types",
        "Date": "Fri,  8 May 2026 17:54:49 -0700",
        "Message-ID": "<20260509005453.3984184-3-pierrick.bouvier@oss.qualcomm.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com>",
        "References": "<20260509005453.3984184-1-pierrick.bouvier@oss.qualcomm.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Authority-Analysis": "v=2.4 cv=DaEnbPtW c=1 sm=1 tr=0 ts=69fe85ef cx=c_pps\n a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17\n a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8\n a=EUspDBNiAAAA:8 a=vRPrYSdLeMI82gwj_0sA:9 a=bBxd6f-gb0O0v-kibOvt:22\n a=cvBusfyB2V15izCimMoJ:22",
        "X-Proofpoint-GUID": "VXsoXfEfP2QXoJP_vy38Lv0m-UoFQUTI",
        "X-Proofpoint-ORIG-GUID": "VXsoXfEfP2QXoJP_vy38Lv0m-UoFQUTI",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNTA5MDAwNiBTYWx0ZWRfX4faB+z5/ookN\n CQFDfW70jcgJhGybuJfD2UiAytQAmoO1KUtSTz8wKoedOpmhtcDYCa2KufKhC/v/fUw+BDQj4/v\n OZhJVljVu8SF4JWswOytWFoyWeVm0OcLEAikigMVQwzn4Boz98SF0ewLILEc/25OUzPEAt1XUfo\n 11QHr1tdlsy1QBoN3p/cpr5mukqIANtGqoYbAcKl6v2KpCrPbtwHrLt7hKvVwBXCBsjUQHSD3DU\n pWg486F2haLoNE61PW2Y1vtOY5gma9lGbEqIuRwN7Js8kE6h+U/dlUMS7lMpUjUsGLWVu+2hf81\n 6jkKkM03IPvwEyULuk4FqHtoxZ0zohGQKYFyL86OzSakmvLYE3ykQRT4qa7PUIbvhl4jSZ6Rpzf\n pXixr813MZ+/8kXlif/cqr13RgeejVWG5HLDOyKfNqOcnAd6GgLaZPlMGu92A2UaYgzF9PJBcLQ\n YzD3rPyCNEC7kGtzgpg==",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-05-09_01,2026-05-08_02,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n bulkscore=0 spamscore=0 priorityscore=1501 adultscore=0 malwarescore=0\n suspectscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605090006",
        "Received-SPF": "pass client-ip=205.220.168.131;\n envelope-from=pierrick.bouvier@oss.qualcomm.com;\n helo=mx0a-0031df01.pphosted.com",
        "X-Spam_score_int": "-27",
        "X-Spam_score": "-2.8",
        "X-Spam_bar": "--",
        "X-Spam_report": "(-2.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 RCVD_IN_DNSWL_LOW=-0.7, 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": "This saves us having to check if it's initialized everytime we have to\naccess it. No other QOM type should be initialized or accessed during\nstatic ctor calls, so we don't depend on their ordering.\n\nSuggested-by: Richard Henderson <richard.henderson@linaro.org>\nSigned-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>\n---\n qom/object.c | 18 +++++-------------\n 1 file changed, 5 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/qom/object.c b/qom/object.c\nindex a5d268d0722..bd48f22bb00 100644\n--- a/qom/object.c\n+++ b/qom/object.c\n@@ -76,28 +76,19 @@ struct TypeImpl\n \n static Type type_interface;\n \n-static GHashTable *type_table_get(void)\n-{\n-    static GHashTable *type_table;\n-\n-    if (type_table == NULL) {\n-        type_table = g_hash_table_new(g_str_hash, g_str_equal);\n-    }\n-\n-    return type_table;\n-}\n+static GHashTable *type_table;\n \n static bool enumerating_types;\n \n static void type_table_add(TypeImpl *ti)\n {\n     assert(!enumerating_types);\n-    g_hash_table_insert(type_table_get(), (void *)ti->name, ti);\n+    g_hash_table_insert(type_table, (void *)ti->name, ti);\n }\n \n static TypeImpl *type_table_lookup(const char *name)\n {\n-    return g_hash_table_lookup(type_table_get(), name);\n+    return g_hash_table_lookup(type_table, name);\n }\n \n static TypeImpl *type_new(const TypeInfo *info)\n@@ -1069,7 +1060,7 @@ void object_class_foreach(void (*fn)(ObjectClass *klass, void *opaque),\n     OCFData data = { fn, implements_type, include_abstract, opaque };\n \n     enumerating_types = true;\n-    g_hash_table_foreach(type_table_get(), object_class_foreach_tramp, &data);\n+    g_hash_table_foreach(type_table, object_class_foreach_tramp, &data);\n     enumerating_types = false;\n }\n \n@@ -2854,6 +2845,7 @@ static void __attribute__((constructor)) register_types(void)\n         .abstract = true,\n     };\n \n+    type_table = g_hash_table_new(g_str_hash, g_str_equal);\n     type_interface = type_register_internal(&interface_info);\n     type_register_internal(&object_info);\n }\n",
    "prefixes": [
        "v5",
        "2/6"
    ]
}