Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2220440/?format=api
{ "id": 2220440, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2220440/?format=api", "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20260407092650.1094713-2-gerald.yang@canonical.com/", "project": { "id": 15, "url": "http://patchwork.ozlabs.org/api/1.1/projects/15/?format=api", "name": "Ubuntu Kernel", "link_name": "ubuntu-kernel", "list_id": "kernel-team.lists.ubuntu.com", "list_email": "kernel-team@lists.ubuntu.com", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260407092650.1094713-2-gerald.yang@canonical.com>", "date": "2026-04-07T09:26:44", "name": "[SRU,N/Q,1/1] ext4: fix stale xarray tags after writeback", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "5e5a368a0a2dc4efc54b0640d23d6fb1ef5ba3de", "submitter": { "id": 77781, "url": "http://patchwork.ozlabs.org/api/1.1/people/77781/?format=api", "name": "Gerald Yang", "email": "gerald.yang@canonical.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20260407092650.1094713-2-gerald.yang@canonical.com/mbox/", "series": [ { "id": 498950, "url": "http://patchwork.ozlabs.org/api/1.1/series/498950/?format=api", "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/list/?series=498950", "date": "2026-04-07T09:26:43", "name": "Remount ext4 to readonly with data=journal mode may dump call trace", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/498950/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2220440/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2220440/checks/", "tags": {}, "headers": { "Return-Path": "<kernel-team-bounces@lists.ubuntu.com>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (4096-bit key;\n unprotected) header.d=canonical.com header.i=@canonical.com\n header.a=rsa-sha256 header.s=20251003 header.b=L9LimWLe;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com\n (client-ip=185.125.189.65; helo=lists.ubuntu.com;\n envelope-from=kernel-team-bounces@lists.ubuntu.com;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65])\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 4fqgp552Bwz1yGf\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 07 Apr 2026 19:27:25 +1000 (AEST)", "from localhost ([127.0.0.1] helo=lists.ubuntu.com)\n\tby lists.ubuntu.com with esmtp (Exim 4.86_2)\n\t(envelope-from <kernel-team-bounces@lists.ubuntu.com>)\n\tid 1wA2iM-0008AK-K5; Tue, 07 Apr 2026 09:27:18 +0000", "from smtp-relay-internal-1.internal ([10.131.114.114]\n helo=smtp-relay-internal-1.canonical.com)\n by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.86_2) (envelope-from <gerald.yang@canonical.com>)\n id 1wA2iL-00089z-2I\n for kernel-team@lists.ubuntu.com; Tue, 07 Apr 2026 09:27:17 +0000", "from mail-pj1-f70.google.com (mail-pj1-f70.google.com\n [209.85.216.70])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id EC9C23F29A\n for <kernel-team@lists.ubuntu.com>; Tue, 7 Apr 2026 09:27:16 +0000 (UTC)", "by mail-pj1-f70.google.com with SMTP id\n 98e67ed59e1d1-35da37203d2so10801258a91.3\n for <kernel-team@lists.ubuntu.com>; Tue, 07 Apr 2026 02:27:16 -0700 (PDT)", "from localhost.localdomain (118-163-61-247.hinet-ip.hinet.net.\n [118.163.61.247]) by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-82cf9c41a2asm17827711b3a.37.2026.04.07.02.27.12\n for <kernel-team@lists.ubuntu.com>\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 07 Apr 2026 02:27:13 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;\n s=20251003; t=1775554036;\n bh=XmYXmvsDTCQC+KLw/hHRuNG5odcKwkaocrJdzyVPuQ0=;\n h=From:To:Subject:Date:Message-ID:In-Reply-To:References:\n MIME-Version;\n b=L9LimWLevoFI+1KJTG+RI0vVS/jWhP+9/nZzE2Vo3d88Q+Hv7fL52rfJ1McHXZz+l\n Y9SOk/S5qUZVfVR4KSaPyBbTe73a9aljuaFBqkp1R97sdFyEdn/RxDf+d+keHwZuKA\n tWAD2Bulx2PcHEmuWPArLPo958sjHi7pAnUW6Y5MkIsJkVCsYFAaMwKN8Q0L4XDDbd\n UuwQNOx0xmyTKzr6+O5oOLBX547aPmKn496tQLesCSBtoFIhbdMOQ016ifURhBGpQd\n 1p/2EKkh//7PNFESmYhRmswTnn3nOfJbDd5JfAkKXG6WvKCo6D4OUsdwHSn5dZdC5t\n pQRKUmjOKvf6fNc9TSigCXg9Xtr5abcfU31JR2dQ5fGZmMDK5hkGTGusO644fLu9jt\n o/x4Zu3L8t1k607K19OQeMxeG1nqsq4MFaWK9ZZl39xa4oborq0QOhUyfNqlW0LO0O\n AHVk8JP0FjdwZfHS1kIS99XQpNw9aJpxJGhloGLVyiCgS5GcApYSH4cC/CMZTjJ4ns\n ogrnXZaHWKp3pQDb5GRjyNGnYApJuTQNWyCrWAxNR2wlJ93rwkm8Nbh+u2gBFJBrUO\n 9e/9XzUUCpMBAytTvHKeiD3m7UTzBcDYLICkAxZ5bJGfQZK652YMv841AdR4SYMIqa\n MwRZyYAMG1SXMBaiZwWai3JY=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775554035; x=1776158835;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=XmYXmvsDTCQC+KLw/hHRuNG5odcKwkaocrJdzyVPuQ0=;\n b=I9SiD24BYIDb4RzJ+LmzMovVM7A/U/rS2ALxTeH6e5Vojusoo3MZiqAxFPw+azJ8bT\n Mb+YeVjui5sJ8e1ivjH54GvSx71gZo99yChorDvR8kDJoKUtpEKhjFhl6TioUS1+m+4I\n DDfUQmNY/yOZ48YEC8Nhit3wFr0bU/KEzYyEK/yCdVo6s+K6xdMKjqNh6sQxV88BvAcI\n cYLCHt7wftaK7WyX9rmnscfeIG6BzS1nBS25cpPOY4CTaO2AVnHCofQiAGrn6aDIMZFG\n UXIxCPLqf6HhK603OjMakpF60VDxovMBeYl27aNcr64pNxa33YShaDeBf4+xxjMXETuO\n 2T6w==", "X-Gm-Message-State": "AOJu0YzgvXIFtHCgY9j+QsaT5KJhEgBa07ScgISEvKwLUTUluA08+GN3\n 6YRlUbRXTF+WQYmBGj/LIaHvnR067lfjHHobMI3R5v9LOtQuz7RYqHHPYvqi07zc34S+rOweWso\n 3LvMf9hFKkusXtB7bNo2ZO57/mRd3/BxxZ/LjPePtAyn4ufLCrE7ltzYmzRORf1Gn33goOjn8vl\n DTY1WrZSY9jfP+fw==", "X-Gm-Gg": "AeBDieu8YqDI7QZQMknDy4dmRvCK3yulVCZeejEJsQFiZ9A2+tSwfVNvZkMtpxv371+\n hmiwODyFhlZOTeDB371dvoe78JBCk5aAXlm7tFx3Zh98LMIQmc7wUJsJ8AwddWVWxglLDOR965T\n 8d8j5A2l5o0G2Y4xzGRQ1nZBya6aJRgxHrsu8unbF4SEn9Mihqqy3VeyWy3e1AaaWjVMU5iTkv4\n 8YCanlxA/awv2N3C56WGnu31lc8MsOfCxsHUWd+hQdKiIGijhrF/e3ypfVMIUAHs2DSwWRUG1Im\n lirNDCNyqTlklmB50XJdhGxM2dJuvfaTX5qdWrryr9yJGycvJ59kOl1SSpTKvz1tZDZe8rGDV5q\n zPxmmd3gne4775ic0oDop0o/K0zBqQPC1sj5gUDkg7vIY83HupworSsET+u3MiCB9FHBIhcj6zr\n dhvE8=", "X-Received": [ "by 2002:a05:6a20:3c8d:b0:39b:ce34:f7df with SMTP id\n adf61e73a8af0-39f2ed7623emr16584342637.5.1775554034774;\n Tue, 07 Apr 2026 02:27:14 -0700 (PDT)", "by 2002:a05:6a20:3c8d:b0:39b:ce34:f7df with SMTP id\n adf61e73a8af0-39f2ed7623emr16584311637.5.1775554034315;\n Tue, 07 Apr 2026 02:27:14 -0700 (PDT)" ], "From": "Gerald Yang <gerald.yang@canonical.com>", "To": "kernel-team@lists.ubuntu.com", "Subject": "[SRU][N/Q][PATCH 1/1] ext4: fix stale xarray tags after writeback", "Date": "Tue, 7 Apr 2026 17:26:44 +0800", "Message-ID": "<20260407092650.1094713-2-gerald.yang@canonical.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260407092650.1094713-1-gerald.yang@canonical.com>", "References": "<20260407092650.1094713-1-gerald.yang@canonical.com>", "MIME-Version": "1.0", "X-BeenThere": "kernel-team@lists.ubuntu.com", "X-Mailman-Version": "2.1.20", "Precedence": "list", "List-Id": "Kernel team discussions <kernel-team.lists.ubuntu.com>", "List-Unsubscribe": "<https://lists.ubuntu.com/mailman/options/kernel-team>,\n <mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe>", "List-Archive": "<https://lists.ubuntu.com/archives/kernel-team>", "List-Post": "<mailto:kernel-team@lists.ubuntu.com>", "List-Help": "<mailto:kernel-team-request@lists.ubuntu.com?subject=help>", "List-Subscribe": "<https://lists.ubuntu.com/mailman/listinfo/kernel-team>,\n <mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "kernel-team-bounces@lists.ubuntu.com", "Sender": "\"kernel-team\" <kernel-team-bounces@lists.ubuntu.com>" }, "content": "From: Jan Kara <jack@suse.cz>\n\nBugLink: https://bugs.launchpad.net/bugs/2147400\n\nThere are cases where ext4_bio_write_page() gets called for a page which\nhas no buffers to submit. This happens e.g. when the part of the file is\nactually a hole, when we cannot allocate blocks due to being called from\njbd2, or in data=journal mode when checkpointing writes the buffers\nearlier. In these cases we just return from ext4_bio_write_page()\nhowever if the page didn't need redirtying, we will leave stale DIRTY\nand/or TOWRITE tags in xarray because those get cleared only in\n__folio_start_writeback(). As a result we can leave these tags set in\nmappings even after a final sync on filesystem that's getting remounted\nread-only or that's being frozen. Various assertions can then get upset\nwhen writeback is started on such filesystems (Gerald reported assertion\nin ext4_journal_check_start() firing).\n\nFix the problem by cycling the page through writeback state even if we\ndecide nothing needs to be written for it so that xarray tags get\nproperly updated. This is slightly silly (we could update the xarray\ntags directly) but I don't think a special helper messing with xarray\ntags is really worth it in this relatively rare corner case.\n\nReported-by: Gerald Yang <gerald.yang@canonical.com>\nLink: https://lore.kernel.org/all/20260128074515.2028982-1-gerald.yang@canonical.com\nFixes: dff4ac75eeee (\"ext4: move keep_towrite handling to ext4_bio_write_page()\")\nSigned-off-by: Jan Kara <jack@suse.cz>\nLink: https://patch.msgid.link/20260205092223.21287-2-jack@suse.cz\nSigned-off-by: Theodore Ts'o <tytso@mit.edu>\nCc: stable@kernel.org\n(cherry picked from commit f4a2b42e78914ff15630e71289adc589c3a8eb45)\nSigned-off-by: Gerald Yang <gerald.yang@canonical.com>\n---\n fs/ext4/page-io.c | 10 ++++++++--\n 1 file changed, 8 insertions(+), 2 deletions(-)", "diff": "diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c\nindex a0459a20f1ca..54b636e39c48 100644\n--- a/fs/ext4/page-io.c\n+++ b/fs/ext4/page-io.c\n@@ -506,9 +506,15 @@ int ext4_bio_write_folio(struct ext4_io_submit *io, struct folio *folio,\n \t\tnr_to_submit++;\n \t} while ((bh = bh->b_this_page) != head);\n \n-\t/* Nothing to submit? Just unlock the folio... */\n-\tif (!nr_to_submit)\n+\tif (!nr_to_submit) {\n+\t\t/*\n+\t\t * We have nothing to submit. Just cycle the folio through\n+\t\t * writeback state to properly update xarray tags.\n+\t\t */\n+\t\t__folio_start_writeback(folio, keep_towrite);\n+\t\tfolio_end_writeback(folio);\n \t\treturn 0;\n+\t}\n \n \tbh = head = folio_buffers(folio);\n \n", "prefixes": [ "SRU", "N/Q", "1/1" ] }