Cover Letter Detail
Show a cover letter.
GET /api/1.2/covers/2222441/?format=api
{ "id": 2222441, "url": "http://patchwork.ozlabs.org/api/1.2/covers/2222441/?format=api", "web_url": "http://patchwork.ozlabs.org/project/swupdate/cover/cover.1775844632.git.konrad.schwarz@siemens.com/", "project": { "id": 58, "url": "http://patchwork.ozlabs.org/api/1.2/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": "<cover.1775844632.git.konrad.schwarz@siemens.com>", "list_archive_url": null, "date": "2026-04-11T19:45:15", "name": "[RFC,0/3] Sticky FAILURE State", "submitter": { "id": 92117, "url": "http://patchwork.ozlabs.org/api/1.2/people/92117/?format=api", "name": "Konrad Schwarz", "email": "konrad.schwarz@gmail.com" }, "mbox": "http://patchwork.ozlabs.org/project/swupdate/cover/cover.1775844632.git.konrad.schwarz@siemens.com/mbox/", "series": [ { "id": 499571, "url": "http://patchwork.ozlabs.org/api/1.2/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/covers/2222441/comments/", "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=dJUpc1Uk;\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=Un3u0ro5;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com\n (client-ip=2607:f8b0:4864:20::83f; helo=mail-qt1-x83f.google.com;\n envelope-from=swupdate+bncbcm7puf6q4orbfgk5lhamgqecx6ljjy@googlegroups.com;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from mail-qt1-x83f.google.com (mail-qt1-x83f.google.com\n [IPv6:2607:f8b0:4864:20::83f])\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 4ftPLg0T12z1yH2\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 05:46:33 +1000 (AEST)", "by mail-qt1-x83f.google.com with SMTP id\n d75a77b69052e-50d8c192b3fsf57492801cf.1\n for <incoming@patchwork.ozlabs.org>;\n Sat, 11 Apr 2026 12:46:33 -0700 (PDT)", "by 2002:a05:6214:226b:b0:89a:1a93:3389 with SMTP id\n 6a1803df08f44-8ac83506a4els26676446d6.2.-pod-prod-06-us; Sat, 11 Apr 2026\n 12:46:28 -0700 (PDT)", "by 2002:a05:6504:32cd:10b0:2f6:91ae:47ef with SMTP id\n a1c4a302cd1d6-2f6d846fdfdmsc7a;\n Sat, 11 Apr 2026 12:45:30 -0700 (PDT)", "from mail-wm1-x329.google.com (mail-wm1-x329.google.com.\n [2a00:1450:4864:20::329])\n by gmr-mx.google.com with ESMTPS id\n 2adb3069b0e04-5a3eeec2bafsi97520e87.3.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-x329.google.com with SMTP id\n 5b1f17b1804b1-488ba840146so29742825e9.1\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.26\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=1775936790; cv=pass;\n d=google.com; s=arc-20240605;\n b=JXUFGrZU97xXMW/orqNySXICUZB0GarntLmkwVEUsX2u/gsnANr/zKz8Yvw6x8uC2w\n w3omDxFuFWR67x6LMsPWKkSj/XRcZ8nWM1hkRDhg2eNaDMJBAfoDRS+Tzpr6edezEoZ9\n YO/43eQ2MNTjL7RWovV3gyvfJqrNHkGfc5rvoUQzkIa1YVFgWjEEljSgsyIGTowXKq8p\n Pld86A3Nhvru4zR3RKhIYZAbQOlevGULZ3XoI5NYI+p+spxRW+GUy6hMMvhb/sVvTAHn\n mfxNK25hjBJYqwnJn5+HvnMVh8G4LIsWbgQYwLPbNplKf4UAztKgEDfKSYYAjVt0Rl1b\n Ucpw==", "i=1; a=rsa-sha256; t=1775936728; cv=none;\n d=google.com; s=arc-20240605;\n b=KOG0pdLcMP5Ipz23GvRx+pG4GxSvKVHt2tO7y0T89vXtbsmgJzNal1UqnLmIvjxo17\n QbNy9kCi4d96hJT6nJ7ipeD9cI96+uhHK5gVUZ8Nrc70490bwbzjF3ECiE7FmIgOUUGF\n cLn/MZ/QtUjbJ4qzfy5bu0yNoswsk+m+fDAKtP2HPTUuLAGjDAwk6Sog/gY2fxfQAY9M\n WRoWexgQnA1nTwmrSTyl/gxOdfB2E2JnVK3OaQpKERI9j0KWrXyIzxByk0R/zTelm/0G\n EIRpL8JrK7Z4equUFoUb+mzWdt23s1aNPdNroDFnW+foSIBdmKhKdwJ4kgd5prQT2G2A\n qiGw==" ], "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:message-id:date\n :subject:cc:to:from:sender:dkim-signature:dkim-signature;\n bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n fh=ZJUsBlPMzvvrCD4OTzGuHMRk20VckovW0P203s9B/a4=;\n b=AWZ+jiq5QAoTYm+10fNvNxffqAwdYDGeKN9JnSnfKkXS1DAs7TliOUy2WUFT1FWF3o\n FkJkNiEtRxMqxQ3IWsxgLKkg4RNYUpmFKQ6hkCNMxsHV0qmmeOVM8fTDjDcZiOXzEMXj\n CEOH4vfJdL5OX4QvgSVc28pHodU8wg3km1BCJr0VAwKNYuimh/BPR6uycGziJGs1qz6P\n 15GFUXlmNeDZ02XIjxqhYve3GNZxZjSwbM7E1HUVPrAaf50CpJ1+L4MKsjKSH1MvTW9C\n hTc51BdOPCYLv2AnY9Kv4YdiqewjedH0MtN1ydWasrUCGptyVwH0uHJel0DDU3nZRo4+\n locw==;\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:message-id:date:subject:cc\n :to:from:dkim-signature;\n bh=ihnnzt3qbdfxdxTry11p3aHQiPha+b+/B5H59irXdqA=;\n fh=FthF95OvfOvalfC4EROW/dNj38UH98VcAVz7s05+GI8=;\n b=bBK+34z9LSFRe41a/Jx3gDQTJ7ME95JPxNX8M1K+kn0sua8L4nd3d0fdN6RCshSLt9\n GPBRs+K/zwBGJZ1OQUik4OywKY6ssyL7vz6pTpbv1BO4lZzwSKUeS4a8r9ZPDpwO4ync\n pUJrRyZvb5OGfusJcw4vJSNYeP+5EIB9YB6tCvXpObpZRjk2VNc6XByn4p078LKNW43o\n NmWzO2EN5yu+Pqg7hejEM06ZN3uTMjPbUPrHgrP21siceNvNbaisi+MEHBZI+XID9Q+p\n ZVE+ZnJanBD/GgBviQN5EfVX63lYmNcz+Wa9qhGXxd5thAoZPo0k5BIKGBlXC0Vs4k0q\n CJFQ==;\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=jTjyKnUe;\n spf=pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 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=jTjyKnUe;\n spf=pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 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=1775936790; x=1776541590;\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:message-id:date:subject:cc:to:from\n :sender:from:to:cc:subject:date:message-id:reply-to;\n bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n b=dJUpc1Uk5VVZHta+lEeZQYGaA56wHSPYR0qycRc1wCKLfXhNvgdh6pGivB6gpm1vTU\n 588xYvy1ndmaSkL1XsoURhAHwVidLURaHwIG2bJt3o+jRO2zIPUkHMXIEicmcdWb6vmO\n qRSFJvZC6+Zn6zKP5HYw92epIMkGRhCaHQBySvh5Fb5tY3XIeHh/vtmUT7VoXWR4ueRl\n a1Hla/mK6KdUuv1uKuYP1GEf50Wy1OtFV8nueYwLkJkNajdqCsd09wGI4q+IjOW2FYww\n ArsUOK+k0E3ePa+KzXHyL2dObVONikjnJA5XWGHFa/XLqNoXN/iIUFT+56DuXhZHjDe6\n OVVg==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1775936790; x=1776541590;\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:message-id:date:subject:cc:to:from\n :from:to:cc:subject:date:message-id:reply-to;\n bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n b=Un3u0ro5vJDUaFEkVVKHezqeGg+HcUNtHPYCBJuzTMFLJdaVVp7KgueaM6MO+5Tv3U\n wMgOC/maIeunNLCt1aTaGFNp5tzFm3EAvswydgPdjNr5SGyYQCgVDyJ4IzM4RVbVihOA\n yevImogmDkw2pBlV4shBoNA/oIyE/em6r6yE9BP5uaYNm+7mgjo5NXTGKWJD9Ut13UPr\n PCmOF47W30gNpvOlexe4ng/W0H5HLl8o3lwchJFmKQ0lxArGCxDQk03C/gd2NuBNOd6s\n noIDaSBlPr6soieSXcLsxSPy5NY7WLKwL5GqwMqcK+8IaozN+y1zaQa3K4PBsoizKL38\n dlCA==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775936790; x=1776541590;\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:message-id:date:subject:cc:to:from\n :x-gm-gg:x-beenthere:x-gm-message-state:sender:from:to:cc:subject\n :date:message-id:reply-to;\n bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n b=o76ObNtpQvWzZHvzvFTW1kL5V9hu6WrU+pmfqx8nIVVkUje4AY8UjhqdoZGHRFWyFK\n CGDWpGp3IrmWDpoFjmxr7VDzEwY6GVn47mP5YRQLbzPyXzNz598sMgj4748pRHD/xhd7\n 5kvSRH+Rl7d+N3vdTly3XjceoU5fQEt0jcosqp/fVLtHfe4nOnByLnsFuxW30bbtJKp7\n w3corKMHVX5KTIM37Z2U9aybB833f3/bXsORrlns4oIrrmI8/HR0qhz6ANGOm22W8BmT\n Bw8JJcWDc5/R0GtO/RWDPlLOf3yYKbTQOmucil6J6NWXv0jg6eRcVpcGh/i0kCiO5CSj\n 0Nmw==", "Sender": "swupdate@googlegroups.com", "X-Forwarded-Encrypted": "i=2;\n AJvYcCW1KJrzNky5tdm/6MBLqK5jITYzpRw6hYw2O7hHXP7zB6R/EO7Zg6aMOibvpfcrWUU7R0PyAe117Q==@patchwork.ozlabs.org", "X-Gm-Message-State": "AOJu0YwgE38Ya0ZxzggTNR+QYiCw6+AtxoqV6qjRb2+Ju1fYo9Vb/wmr\n\tfZA8zdBykr04EeQ14wiOksrcG9M0eTmv8Zx5GXRU1u0WD52/xKsZCFAC", "X-Received": [ "by 2002:a05:622a:4a15:b0:509:1a36:6aca with SMTP id\n d75a77b69052e-50dd5bd9509mr124081671cf.17.1775936790571;\n Sat, 11 Apr 2026 12:46:30 -0700 (PDT)", "by 2002:a05:6214:2b06:b0:8a1:bcce:86ba with SMTP id\n 6a1803df08f44-8ac862ab60emr132027066d6.40.1775936787893;\n Sat, 11 Apr 2026 12:46:27 -0700 (PDT)", "by 2002:a05:6512:33c8:b0:5a2:9635:b1e0 with SMTP id\n 2adb3069b0e04-5a3ef90b25dmr2547779e87.16.1775936728343;\n Sat, 11 Apr 2026 12:45:28 -0700 (PDT)", "by 2002:a05:600c:3b0e:b0:487:20ee:bef6 with SMTP id\n 5b1f17b1804b1-488d67e65fdmr102340295e9.11.1775936727380;\n Sat, 11 Apr 2026 12:45:27 -0700 (PDT)" ], "X-BeenThere": "swupdate@googlegroups.com;\n h=\"AYAyTiLyRjgMob4qWQSB4V+Xn+m81o399USzvTdIeQROXlNXbw==\"", "Received-SPF": "pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 as permitted sender) client-ip=2a00:1450:4864:20::329;", "X-Gm-Gg": "AeBDieuB9Dm8eo5H3qtcUstRZ00uXEnNiKk+7ybLnI3fc/PKVbN0flR65q4XwnToN7R\n\tL6wcL7k8AGron6O0tF7xtxE4Ytrga/LGeDyMmQrYO8ss7O4sUcJwjr45rGzSMYvNcR6nbK06jM+\n\tG1X/8DDQdlF1L2C2IZE0ZD6ZgGJVBYQuVpfQd7twIF+GXPprObEs8IGYi6lNpFr0v1Guo/Dgs8N\n\tOycmeY/Cz1O4sPec/X6PSesdUCgE0IQvzmUQpkQbzUoKDwERN0o7phDot4kkflPYpZ2QyOQRBRT\n\txizV6JsZD+TXHMtuOeOFj9D3Xvzn0+fRMOoiKlwudzufnUtMKlKTwaMtz5y4A/lx4TRZ8oW/sBF\n\tnrH8OOEZ6Xi7AlUVkEpZ2nvBqNikNKVc/Aq9ZteNsHtSifbDHnmepslvQGR4KKS6Q0ps6sLgEh5\n\tOTJsxh1AxsNGBv4uH/jTPThXso3OdHZwzQ29RHJ/WSj5UCRCQh2JjlWcZ/fC8=", "From": "Konrad Schwarz <konrad.schwarz@gmail.com>", "To": "swupdate@googlegroups.com", "Cc": "Konrad Schwarz <konrad.schwarz@siemens.com>", "Subject": "[swupdate] [RFC PATCH 0/3] Sticky FAILURE State", "Date": "Sat, 11 Apr 2026 21:45:15 +0200", "Message-ID": "<cover.1775844632.git.konrad.schwarz@siemens.com>", "X-Mailer": "git-send-email 2.47.3", "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=jTjyKnUe; spf=pass\n (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 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\nThe swupdate-progress interface defines a message\nwho's key field is a field \"state\".\nIntuitively, this field would represent the\ncurrent state of the update state machine.\n\nIn practice however, a few state=PROGRESS messages follow a\nstate=FAILURE message.\n\nThis is surprising to progress monitors, since the state\nof the update attempt is still (or should be) FAILURE and not\n(update-in-) PROGRESS.\n\nProgress monitors that wish to indicate the current\nstate need to track the messages and implement\na (little) state machine to make sure they remain\nin FAILURE state until the next status=START message.\n\nThe following change integrates that state machine into\nthe core progress thread, which\nwill simplify logic in progress monitors.\n\nThis change affects the standard tools/swupdate-progress monitor.\n\ntools/swupdate-progress is able to trigger certain events when\nreaching FAILURE (or SUCCESS).\nWith the above change, such events would be\ntriggered several times, once for each message with state FAILURE.\nOne event option is a user-defined \"post script\".\n\nTo prevent this, the second patch adds \"edge filtering\"\nto tools/swupdate-progress, so that events\nare triggered only on the transition to FAILURE.\n\nSince this is in some sense an incompatible change,\nthe final patch bumps the message API patch level.\n\nKonrad Schwarz (3):\n swupdate-progress: make FAILURE state sticky\n tools/swupdate-progress: sticky FAILURE state modifications\n swupdate-progress: indicate modified API\n\n core/progress_thread.c | 16 ++++++++++++++++\n include/progress_ipc.h | 2 +-\n tools/swupdate-progress.c | 11 ++++++++++-\n 3 files changed, 27 insertions(+), 2 deletions(-)" }