get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2222442,
    "url": "http://patchwork.ozlabs.org/api/patches/2222442/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/swupdate/patch/9408ad5f6f040a0583dc3d3ff14c79268df6e4dd.1775844632.git.konrad.schwarz@siemens.com/",
    "project": {
        "id": 58,
        "url": "http://patchwork.ozlabs.org/api/projects/58/?format=api",
        "name": "swupdate development",
        "link_name": "swupdate",
        "list_id": "swupdate.googlegroups.com",
        "list_email": "swupdate@googlegroups.com",
        "web_url": "https://github.com/sbabic/swupdate",
        "scm_url": "git://github.com/sbabic/swupdate",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<9408ad5f6f040a0583dc3d3ff14c79268df6e4dd.1775844632.git.konrad.schwarz@siemens.com>",
    "list_archive_url": null,
    "date": "2026-04-11T19:45:16",
    "name": "[RFC,1/3] swupdate-progress: make FAILURE state sticky",
    "commit_ref": null,
    "pull_url": null,
    "state": "rejected",
    "archived": false,
    "hash": "aa6a6c14cc7f3fa880f4b018c0087620c8a1884e",
    "submitter": {
        "id": 92117,
        "url": "http://patchwork.ozlabs.org/api/people/92117/?format=api",
        "name": "Konrad Schwarz",
        "email": "konrad.schwarz@gmail.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/swupdate/patch/9408ad5f6f040a0583dc3d3ff14c79268df6e4dd.1775844632.git.konrad.schwarz@siemens.com/mbox/",
    "series": [
        {
            "id": 499571,
            "url": "http://patchwork.ozlabs.org/api/series/499571/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/swupdate/list/?series=499571",
            "date": "2026-04-11T19:45:17",
            "name": "Sticky FAILURE State",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499571/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2222442/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2222442/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<swupdate+bncBCM7PUF6Q4ORBFGK5LHAMGQECX6LJJY@googlegroups.com>",
        "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=googlegroups.com header.i=@googlegroups.com\n header.a=rsa-sha256 header.s=20251104 header.b=LT6pshxa;\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=LvOgI3dA;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com\n (client-ip=2607:f8b0:4864:20::73b; helo=mail-qk1-x73b.google.com;\n envelope-from=swupdate+bncbcm7puf6q4orbfgk5lhamgqecx6ljjy@googlegroups.com;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from mail-qk1-x73b.google.com (mail-qk1-x73b.google.com\n [IPv6:2607:f8b0:4864:20::73b])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4ftPLg0Df4z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 05:46:33 +1000 (AEST)",
            "by mail-qk1-x73b.google.com with SMTP id\n af79cd13be357-8d5107ec672sf862993585a.0\n        for <incoming@patchwork.ozlabs.org>;\n Sat, 11 Apr 2026 12:46:33 -0700 (PDT)",
            "by 2002:a05:622a:295:b0:50d:859b:d727 with SMTP id\n d75a77b69052e-50dd4e3d7a1ls37618091cf.0.-pod-prod-06-us; Sat, 11 Apr 2026\n 12:46:28 -0700 (PDT)",
            "by 2002:a05:6402:3987:b0:670:312d:f74b with SMTP id\n 4fb4d7f45d1cf-670312df979msa12;\n        Sat, 11 Apr 2026 12:45:30 -0700 (PDT)",
            "from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com.\n [2a00:1450:4864:20::32c])\n        by gmr-mx.google.com with ESMTPS id\n 4fb4d7f45d1cf-670703e757esi132878a12.1.2026.04.11.12.45.28\n        for <swupdate@googlegroups.com>\n        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n        Sat, 11 Apr 2026 12:45:28 -0700 (PDT)",
            "by mail-wm1-x32c.google.com with SMTP id\n 5b1f17b1804b1-48897fd88ebso33431745e9.2\n        for <swupdate@googlegroups.com>; Sat, 11 Apr 2026 12:45:28 -0700 (PDT)",
            "from dinmPF4XJWP1.ad001.siemens.net ([147.161.169.23])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-488d5b56d1asm165661065e9.15.2026.04.11.12.45.27\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Sat, 11 Apr 2026 12:45:27 -0700 (PDT)"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; t=1775936791; cv=pass;\n        d=google.com; s=arc-20240605;\n        b=Z5uTXlUUIku9qrn0w70qMEvgG3/F61IXB3MXz0F6V4n+hscK9P39+P22ygimpIfvNx\n         sj0XOXUXv4fj9FBr6xVgcDMCsuWgtpH9wA33S0CRzwV0nzUsHhpkqHtJluVQZJxFVl3P\n         2BwmaKZnkV6lNb/IyTyJE0p0zrP3XQXgCO6RY2Q8FnYT/8pXrUA7OObf+BpslVMX/Z+9\n         fPdiywpGkQMmdJ+3hAH9F41+kxUqcm04hyMItembzmFrfzXzkq8m4GEophIXs5JavaBr\n         5QscC2f1k/a0JZ8hLIq+ICEnVoRRmr7wYv1zK325z8jrILcXFaNQAoQuqQrwKmIgZp73\n         /i0Q==",
            "i=1; a=rsa-sha256; t=1775936728; cv=none;\n        d=google.com; s=arc-20240605;\n        b=GPBMYDwcrLjnGtmPNiQXGT/8xd379OQQnfGUjDT5zsOI2TcBekYgKZ5+ILCuX913Vc\n         xKJfaoqsPtzgecVoZhmMQAUPFe9LJcvfl3bwydt1KsPmbxNIIGj0fRklZnAgzYNCe8Vp\n         xtJ1bNj0GRcUnT2uJ7NqZ4TahQIHciCF04UonOyNlb35RShB4mWVIPQtEa3CAPiQHm0R\n         wF4/azYZbhoPrqqJ5lVzfHrfZsl9hUB+qvvrfnb/luHAKP5Dkexl8vX1RVXyoGXTqUyI\n         e56iatx/H+fdD11d4IYL09LpSD0EvopVgv/j0APau3m0VumRfrAb/0lQU8su1YdG/rgf\n         tA7Q=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:sender:dkim-signature\n         :dkim-signature;\n        bh=nf/vWME6m0iD+GDAPUywupeUzdHj5/SHGHS9pLpynAY=;\n        fh=RY9IGZ2VDDBBj4376V/56N8A+CYj36MtBEKmN4e+FCA=;\n        b=SQIbqconko0/keNrXeydoAjZDoMcCVelzITUZ1pC3ij8YIwuEAVsJuhqYHJR63ChG2\n         B7KkFGlzigWV7ZpYe0TXCSnSqM8XXH8vjSLJUbqYlXtQy/KWuG/gDywDWuZO/fu5YKp/\n         NvOYRVz7KeaLK6Qd2evaC9sIs8ZJLwqq8rpirejbNWLZBnKKZ1tUe26iDeQZMAUPDSPa\n         9ytYvd9SQHrbRAz03CYBGvb8Zw1pDWBodHcuylnw7zgNrND0fsupvIbPrYM/zEz+gou5\n         2DAceXl/SIVRPpcpsD5e/+fGAyVlJRfMatO/IEkzARzVZFXawZFKAZisnyRjXlgOGLFM\n         /99g==;\n        darn=patchwork.ozlabs.org",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:dkim-signature;\n        bh=bBIwbXDo1uazHRGyfUR8Obv4huIIGJ1HZbhNhcnZKY4=;\n        fh=FthF95OvfOvalfC4EROW/dNj38UH98VcAVz7s05+GI8=;\n        b=DlK8P9bJ3iNpwOUUUtMX4y3UW7dXoBCrT9/P/fF668pHRKGwQFm5Buv4xqCRe39mNW\n         gZtDhBzPPqldmcCIKBt/QVoUIAeXmmS8h16lT8jk4bt9PytTbZC7hJvn2AHMCD5IO+ON\n         49ARP9Grzz65yQ14EyQuppkst10v0xl+m0ViZ19Yp+DplatsT6Yw8PE8gF7Z1O/nr8nE\n         DwpEEhnDY43l54ZKurdYVG2UtSSec6iw+j6R2k2hZbXzjFW9/MzbZTiTY6DNW1fD9fe2\n         al7dFJWvWWQbDzByNEO9QCarI5ZdYPVycbbRNmfufUVK98Caj/tJGFDY4KTr/hzfhVD0\n         qUpw==;\n        dara=google.com"
        ],
        "ARC-Authentication-Results": [
            "i=2; gmr-mx.google.com;\n       dkim=pass header.i=@gmail.com header.s=20251104 header.b=\"LhK+vx/m\";\n       spf=pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::32c as permitted sender)\n smtp.mailfrom=konrad.schwarz@gmail.com;\n       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;\n       dara=pass header.i=@googlegroups.com",
            "i=1; gmr-mx.google.com;\n       dkim=pass header.i=@gmail.com header.s=20251104 header.b=\"LhK+vx/m\";\n       spf=pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::32c as permitted sender)\n smtp.mailfrom=konrad.schwarz@gmail.com;\n       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;\n       dara=pass header.i=@googlegroups.com"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=googlegroups.com; s=20251104; t=1775936791; x=1776541591;\n darn=patchwork.ozlabs.org;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:references:in-reply-to:message-id\n         :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id\n         :reply-to;\n        bh=nf/vWME6m0iD+GDAPUywupeUzdHj5/SHGHS9pLpynAY=;\n        b=LT6pshxaJbX8dp3sft1YxUqrspiHuA4V24TKKosHctB+v4OUXLtizQ4dsokOSoFYWo\n         61mCaVUIdZbslkW9+EgIVbs1KAa/n4jerAmrd6Mu82wCkMtwCzki2JIadztdcFtxbmU4\n         cLzhk98VMmtxWPZuLCgURwAwNDCHySno46hCXsnQQVkLYNQVX61c215cFtEkeepMrRyz\n         S1kBOgIJeaTAs+mghkvwbksEYWVxSBFLvB/hSwqbEdtSKbwa/5fUsc1o9/cElnB12NHs\n         kb2JioU87FT1KATIEx73w1hNQ2tXx2CaXpakKSO7RwPwcoZmkacepDkOpQFqf2Sn8Adz\n         cjxA==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775936791; x=1776541591;\n darn=patchwork.ozlabs.org;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:references:in-reply-to:message-id\n         :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=nf/vWME6m0iD+GDAPUywupeUzdHj5/SHGHS9pLpynAY=;\n        b=LvOgI3dAuoY4W6H+EBrLX19Of3SeoNqRnwkvgUMTk/dfd5WbeL7rBNdvp6zg1zogUn\n         vNL/iTcCFMBfgsTqlERJnt2HFb4O3NWZ/3G7bxg70nSo1Kr+sza2btw4csFa2Xc/+nzO\n         K8yJIBskbLVPg6d7AHr4B2P4DIzZXrA1LPlttDc5FmK3TJ+fD6jsW91/Ku8JOqFpxrAL\n         gU+DfbuHlyohgIGNOX1WMtK0ywNMM8DW/w7Cunk7t1feXilPlfzC1fXuOgzUgT8CHu4Y\n         rhmle6mQIriSPki1HO4GVR6UpAhC4Z7FX2PWgEH52gccW9BIy18PS17duZUXhbJS5rek\n         PFxA=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775936791; x=1776541591;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:references:in-reply-to:message-id\n         :date:subject:cc:to:from:x-gm-gg:x-beenthere:x-gm-message-state\n         :sender:from:to:cc:subject:date:message-id:reply-to;\n        bh=nf/vWME6m0iD+GDAPUywupeUzdHj5/SHGHS9pLpynAY=;\n        b=DjLP2IL8Ntlgs+dOMDTx5/5oE54ancZ7WlZL3toSzV6+/Eek5lRztdbcO2r0Hf0ozw\n         vW+br2W0iBW2o5C8Tr+dLqt2/DB6w0/w6qgBuNezXHVWPyOfV427AhYsqaWytsZ6Lcvs\n         Zhokr+dqYT4Qq+Na45h8LHLWqBU9ArIH80pllKUZv+cCS+ClCVpSktk6DPvWmduN4Bb1\n         nHWsKUsNU1SPG/n2QVbG0ZTO+ME64tuNzZxsXeAZEAPnNuGC74M54ijsUmiKtVmksOno\n         iaETRf+EjfkfDIYL47O0EgA8xbZ4U1SRi+CKQ/pss6ApfIerinDnZn7nobL7rd7euBYb\n         zMXw==",
        "Sender": "swupdate@googlegroups.com",
        "X-Forwarded-Encrypted": "i=2;\n AJvYcCVe/z9kqTsteVcMgDxMgGDNJvx48lS70PQWxCapZqtqRTd/GMnPm5E42YExuGmdrS5fd0yfAq+FDA==@patchwork.ozlabs.org",
        "X-Gm-Message-State": "AOJu0Yz3OwjArOhF6omDteVNM1XCexGO4FOxyfGjStEZ+BDFkCY+jh1o\n\t5iaU0Rkp0CX0dRqP0ak6dIUQPj/CREKqhpKmKRkm2SVQSuRX0kDg4I8n",
        "X-Received": [
            "by 2002:a05:620a:4688:b0:8d7:f950:ea4a with SMTP id\n af79cd13be357-8ddccb294d8mr1112265385a.12.1775936790732;\n        Sat, 11 Apr 2026 12:46:30 -0700 (PDT)",
            "by 2002:a05:620a:4722:b0:8cd:af31:b414 with SMTP id\n af79cd13be357-8ddcecbcae6mr1163799785a.31.1775936787891;\n        Sat, 11 Apr 2026 12:46:27 -0700 (PDT)",
            "by 2002:a05:6402:1cc5:b0:66b:aa56:ee5c with SMTP id\n 4fb4d7f45d1cf-6707b5e762bmr3327690a12.28.1775936728819;\n        Sat, 11 Apr 2026 12:45:28 -0700 (PDT)",
            "by 2002:a05:600c:4451:b0:487:1fbf:e0a1 with SMTP id\n 5b1f17b1804b1-488d68057e8mr103371415e9.4.1775936728309;\n        Sat, 11 Apr 2026 12:45:28 -0700 (PDT)"
        ],
        "X-BeenThere": "swupdate@googlegroups.com;\n h=\"AYAyTiJSr5oQyg9TumaSOTFtWZsR6K79NJcCqb11ouUcPYDhgw==\"",
        "Received-SPF": "pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::32c as permitted sender) client-ip=2a00:1450:4864:20::32c;",
        "X-Gm-Gg": "AeBDietjnKCTVSYF6+5FPGg3FMqTZhShQa3YczO2m5/m/6CEKZguZ98gSrkjznILGhu\n\tCL4JEOpJfS6zYGJLGZLgL49fT8k8gPbhYzTO6A2Lx+MXavmR25Q1tjTslNCjWpHvLzjrvtALgmu\n\tNWcWt1iLp0LCXpcVwt8icYl0nChEnn3IO6bDUIBGaS3E/Q3+WaykIfLvw85PLbAaX7BKXrj7s0f\n\tx/uPAQ50ZiH3Xg167VpedItPL9Xjpw+n10xJ92scgLIe9SdkeFzy3xTC9slFq+B6TvTWPc55uLk\n\t/KixjwWKzMD6HeLAWx1ut7HtLNY64hjrMe9w13i8yDZDB9xpVPncaZhTJzM8ZtfOPtLeNg9tVca\n\tEzFoEEo7GldUd0jFekIeUUArsRa/j0+CtGqANLvcepzd+9s5ERDYouZWn2AwfqwvnLk+d19so2j\n\tW+fXxKVLKvlbzxNWPhu3PDMqPVf/DWSko2jjMywM1c5hLZjo2Z",
        "From": "Konrad Schwarz <konrad.schwarz@gmail.com>",
        "To": "swupdate@googlegroups.com",
        "Cc": "Konrad Schwarz <konrad.schwarz@siemens.com>",
        "Subject": "[swupdate] [RFC PATCH 1/3] swupdate-progress: make FAILURE state\n sticky",
        "Date": "Sat, 11 Apr 2026 21:45:16 +0200",
        "Message-ID": "\n <9408ad5f6f040a0583dc3d3ff14c79268df6e4dd.1775844632.git.konrad.schwarz@siemens.com>",
        "X-Mailer": "git-send-email 2.47.3",
        "In-Reply-To": "<cover.1775844632.git.konrad.schwarz@siemens.com>",
        "References": "<cover.1775844632.git.konrad.schwarz@siemens.com>",
        "MIME-Version": "1.0",
        "X-Original-Sender": "konrad.schwarz@gmail.com",
        "X-Original-Authentication-Results": "gmr-mx.google.com;       dkim=pass\n header.i=@gmail.com header.s=20251104 header.b=\"LhK+vx/m\";       spf=pass\n (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::32c as permitted sender)\n smtp.mailfrom=konrad.schwarz@gmail.com;\n       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;\n       dara=pass header.i=@googlegroups.com",
        "Content-Type": "text/plain; charset=\"UTF-8\"",
        "Precedence": "list",
        "Mailing-list": "list swupdate@googlegroups.com;\n contact swupdate+owners@googlegroups.com",
        "List-ID": "<swupdate.googlegroups.com>",
        "X-Google-Group-Id": "605343134186",
        "List-Post": "<https://groups.google.com/group/swupdate/post>,\n <mailto:swupdate@googlegroups.com>",
        "List-Help": "<https://groups.google.com/support/>,\n <mailto:swupdate+help@googlegroups.com>",
        "List-Archive": "<https://groups.google.com/group/swupdate",
        "List-Subscribe": "<https://groups.google.com/group/swupdate/subscribe>,\n <mailto:swupdate+subscribe@googlegroups.com>",
        "List-Unsubscribe": "\n <mailto:googlegroups-manage+605343134186+unsubscribe@googlegroups.com>,\n <https://groups.google.com/group/swupdate/subscribe>"
    },
    "content": "From: Konrad Schwarz <konrad.schwarz@siemens.com>\n\nTurn all status=PROGRESS progress messages after a status=FAILURE message\ninto further status=FAILURE messages until the next status=START\nmessage.\n\nSigned-off-by: Konrad Schwarz <konrad.schwarz@siemens.com>\n---\n core/progress_thread.c | 16 ++++++++++++++++\n 1 file changed, 16 insertions(+)",
    "diff": "diff --git a/core/progress_thread.c b/core/progress_thread.c\nindex f3ab0dda..3d413aef 100644\n--- a/core/progress_thread.c\n+++ b/core/progress_thread.c\n@@ -53,6 +53,8 @@ struct swupdate_progress {\n \tstruct connections conns;\n \tpthread_mutex_t lock;\n \tbool step_running;\n+\tbool in_failure_state;\n+\n };\n static struct swupdate_progress progress;\n \n@@ -81,6 +83,20 @@ static void send_progress_msg(void)\n \tconst int maxAttempts = 5;\n \n \tpprog->msg.apiversion = PROGRESS_API_VERSION;\n+\n+\tswitch (pprog->msg.status) {\n+\tcase START:\n+\t\tpprog->in_failure_state = false;\n+\t\tbreak;\n+\tcase FAILURE:\n+\t\tpprog->in_failure_state = true;\n+\t\tbreak;\n+\tcase PROGRESS:\n+\t\tif (pprog->in_failure_state)\n+\t\t\tpprog->msg.status = FAILURE;\n+\t\tbreak;\n+\t}\n+\n \tSIMPLEQ_FOREACH_SAFE(conn, &pprog->conns, next, tmp) {\n \t\tbuf = &pprog->msg;\n \t\tcount = sizeof(pprog->msg);\n",
    "prefixes": [
        "RFC",
        "1/3"
    ]
}