Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2189877/?format=api
{ "id": 2189877, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2189877/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/patch/20260128074515.2028982-1-gerald.yang@canonical.com/", "project": { "id": 8, "url": "http://patchwork.ozlabs.org/api/1.2/projects/8/?format=api", "name": "Linux ext4 filesystem development", "link_name": "linux-ext4", "list_id": "linux-ext4.vger.kernel.org", "list_email": "linux-ext4@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260128074515.2028982-1-gerald.yang@canonical.com>", "list_archive_url": null, "date": "2026-01-28T07:45:15", "name": "ext4: Fix call trace when remounting to read only in data=journal mode", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "f315649282fe6d4077e79ad8bf66a97f2635f48e", "submitter": { "id": 77781, "url": "http://patchwork.ozlabs.org/api/1.2/people/77781/?format=api", "name": "Gerald Yang", "email": "gerald.yang@canonical.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-ext4/patch/20260128074515.2028982-1-gerald.yang@canonical.com/mbox/", "series": [ { "id": 490025, "url": "http://patchwork.ozlabs.org/api/1.2/series/490025/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/list/?series=490025", "date": "2026-01-28T07:45:15", "name": "ext4: Fix call trace when remounting to read only in data=journal mode", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/490025/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2189877/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2189877/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <SRS0=Nifp=AB=vger.kernel.org=linux-ext4+bounces-13377-patchwork-incoming=ozlabs.org@ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-ext4@vger.kernel.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "patchwork-incoming@ozlabs.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (4096-bit key;\n unprotected) header.d=canonical.com header.i=@canonical.com\n header.a=rsa-sha256 header.s=20251003 header.b=f+qEiSG9;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=nifp=ab=vger.kernel.org=linux-ext4+bounces-13377-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)", "gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=\"2600:3c0a:e001:db::12fc:5321\"\n arc.chain=subspace.kernel.org", "gandalf.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=canonical.com", "gandalf.ozlabs.org;\n\tdkim=pass (4096-bit key;\n unprotected) header.d=canonical.com header.i=@canonical.com\n header.a=rsa-sha256 header.s=20251003 header.b=f+qEiSG9;\n\tdkim-atps=neutral", "gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-13377-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (4096-bit key) header.d=canonical.com header.i=@canonical.com\n header.b=\"f+qEiSG9\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=185.125.188.123", "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=canonical.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=canonical.com" ], "Received": [ "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f1DqR0YwKz1xv9\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 28 Jan 2026 18:46:25 +1100 (AEDT)", "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4f1DqP46jmz4wCP\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 28 Jan 2026 18:46:25 +1100 (AEDT)", "by gandalf.ozlabs.org (Postfix)\n\tid 4f1DqP3p11z4wD3; Wed, 28 Jan 2026 18:46:25 +1100 (AEDT)", "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4f1DqJ1ThBz4wCP\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 28 Jan 2026 18:46:20 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id BFD15300DF5B\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 28 Jan 2026 07:46:18 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id EF74D2FFDFA;\n\tWed, 28 Jan 2026 07:46:17 +0000 (UTC)", "from smtp-relay-internal-1.canonical.com\n (smtp-relay-internal-1.canonical.com [185.125.188.123])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 47AFB3161A8\n\tfor <linux-ext4@vger.kernel.org>; Wed, 28 Jan 2026 07:46:14 +0000 (UTC)", "from mail-pg1-f197.google.com (mail-pg1-f197.google.com\n [209.85.215.197])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 746FA3F2BA\n\tfor <linux-ext4@vger.kernel.org>; Wed, 28 Jan 2026 07:46:07 +0000 (UTC)", "by mail-pg1-f197.google.com with SMTP id\n 41be03b00d2f7-c63597a63a6so3306531a12.3\n for <linux-ext4@vger.kernel.org>;\n Tue, 27 Jan 2026 23:46:07 -0800 (PST)", "from localhost.localdomain (118-163-61-247.hinet-ip.hinet.net.\n [118.163.61.247])\n by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-353f61dfac1sm4725598a91.9.2026.01.27.23.46.03\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 27 Jan 2026 23:46:04 -0800 (PST)" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1769586385; cv=pass;\n\tb=klSdY0LzzfF9XwnMS+thUGbMS1TgTTP1barDtai3jKj1v6rjLcMd9zGVyQ86VVafgn4mZH+MNHo59M/KLJf08nRjiUV895hJdPB66osgftw1x5hEpptLpWql3ZKq24SgGE6I0Xb2vSe4fWgmeB+mzLhyFSB6t2Pc4/t4Xy/m58RO/ikfEHpb1z9IJSpL2TBaqRSC7JaxfOok502cjCahQrnVP3NKxnh+igmhIRXPJ2zcYy4l1iQUDwXfM6bbOI8pXbmUt44u9fhF+kuT1CjKZf8+Xx9kbmBwefwg6aO1NnZNia8d0Pe7HZYQwQyIqOllQF1vll13K32PESjVPUVqnw==", "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1769586377; cv=none;\n b=Wnz7GWFNyGnQBXcu19qKXfMfC8pUnDWvqsWN5ZYIJgKe5mlXVGMAb362QYa7s/tRKx55cDaXm6+6zbCmToFuCmjbvGeqM4n11ML8AF2ADbgOzdw5BaXKLwWh/5q4APO3/co5CrkoL1AtzsywtCrldtr/K37E49SKxwPSq1PHmfA=" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1769586385; c=relaxed/relaxed;\n\tbh=Gpd2omspOUj0LE8fFt7xpcbIn/cwC6f49DqbEAmzflE=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=PKcKntmc+rrqb6ARMYjchEh7p6xAYF2Q5/H+8yS+dnuR3hRDVi6JOgd04xXmuch2sqhQ/gxdTU2DfI4zitKP8uXfptlk9ItpBdvhgEKevlq7l4mCwhVQGx5psZxDApB28lsRUXfn157vDuQ87O4D16suGqBiMDQcudpVmsrMFF3d5XWguYVFekSn7qqyDr030G5nopVVK6eRG07mg+LFqqPQvP9FWWdCaqf6/EAMC/dRdw9Pj7i2Kj0JyOKUO84lLNL2koYgYFei+s/vzY7rF2dLxAkIEA10Itm2nxqXHl/7fDxfy10yX+B2ZicYpnh2wDxMZfsaCPZ4wXrLSHyKzA==", "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1769586377; c=relaxed/simple;\n\tbh=GvSxX/6fLXVeaPSQG2McNMhXej+D7HQAlplTMiM95Tc=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=Jadf6qG0UN006r/tqpdeVZ9jCoXMsjsfMf1R6sCP9jP+LLSbzlkIqz1KpZV+m73wlY9BepBiHtK/PKsaT5vWlAXWEkCElAOpqjK4qx9OFa9RvmiHRjWlYZQqPRhDylz29MesSTOrHUPd/zwotQatooGqG7Zgx7/VyPS2CWVwjo0=" ], "ARC-Authentication-Results": [ "i=2; gandalf.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=canonical.com;\n dkim=pass (4096-bit key;\n unprotected) header.d=canonical.com header.i=@canonical.com\n header.a=rsa-sha256 header.s=20251003 header.b=f+qEiSG9; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-13377-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org", "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=canonical.com;\n spf=pass smtp.mailfrom=canonical.com;\n dkim=pass (4096-bit key) header.d=canonical.com header.i=@canonical.com\n header.b=f+qEiSG9; arc=none smtp.client-ip=185.125.188.123" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;\n\ts=20251003; t=1769586367;\n\tbh=Gpd2omspOUj0LE8fFt7xpcbIn/cwC6f49DqbEAmzflE=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n\tb=f+qEiSG9qtR0glMK9Qrvc6FHlECNZlIp8XJ/G6Dz75xzAsxLpluKLvb5m7OjTbh4X\n\t vFOlV5w+vbKJdPlPOnkbIsFKGPuHiN5ulkEeMz/Bj9cOO0xRcuyv1mV7YKAv1mTHOD\n\t XgOl4Q8j1i+Im6CPKZRpQfClH6Ia0I9HqHSLjI8lNESOgjgOiYxk22cG6668/BFb9l\n\t 7Xv12v2b7CsQllcRuxcIut00JV+wldvC0MJn9cjowNQkQLzLzlcWvkMCwxVb+6nUYX\n\t 1u3rmfV8m/FPUOXWx9hCPOLGx/eIhkx91tPB6mk6WBRk/u5QIZqGX1bFMCKojdNsrd\n\t Y+IlbexzXvyD+OoBmqt2qhYxPL8aViluQImjMXg8g8PDxWYjGIP3RSrHZWF2QQkhhM\n\t KlGh8EsNArFAP2rDpCNidCJN1FcxEtt9smPe53VJE1fjKowcv3HVlzzWNGEw8WEL8q\n\t 97sXAQGi8kDItdXZE3Ra7A5WWHg6tal+oNmnfMPKFNKLUhCmMY2YzzyWEp3ujlRlSI\n\t 1mHMlEf+aZZh5zYLG3LMEXlL6ZkX041CvSeSlkW4XHOjiLdC6NxDREuIUkVdlaVH8K\n\t Tmv+zsP49hhBxwdpwMpsFfCugxE9l6S/GqVoaGwv82qXOi9MkPUYsnKIbz8vTYDn0a\n\t Rf2BmpAzCtAmCOpo0YGuS3CE=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1769586366; x=1770191166;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=Gpd2omspOUj0LE8fFt7xpcbIn/cwC6f49DqbEAmzflE=;\n b=BLedB0i70pLyL/92ucpHDXu7C0t0FowlPuGNalEid+H6+uH4muKJl6Y0uHnVlqFEgI\n +lCRWlorUoknCV/U/cLbKyCZDsxUolQzxl1N4AENWqpeYCieGTgmiWLzIN9SP9/zrYts\n qseBjilQBLK7VajVEVi1dCZLg7nov3E9MLEGgnTQTgI5dYyMxrRnp6HoU4TGgS6iwu68\n UoG2+WEUC7upc7a/hzUlstZA6487F13dg7Ej45Noi6JWqPJUF3uOCaDaYEM9MVC26Qcr\n pQD0IWTS6p/PUf7/Rs5vjbnoRU9/2tM3hAJ+8apPR5885CyxH+yF/cWS70+ZOxYby/jP\n 69Dg==", "X-Gm-Message-State": "AOJu0YyrJrPjZmtiKdhoCaTCpEp0lRQKxsbaZlCCUJKQHuSQyy9bfaWv\n\tJZEa814NpleePTefyhmT2VmEp3cNqsg54GEa8bOvNyF9yugXAjmI3579igpzYVAYlu3JCED1AHF\n\tjsWKNIDateWUix5oZ94QXljbwUBOqDDElLnaiGCugD35JgDyU8fVlKvrwRCQQ4jkQC65tsLcR9m\n\tIEq4U=", "X-Gm-Gg": "AZuq6aKdmo1R3uIYGrFnBIWmHmnqfgDotiGHdll1I3xNsxBM3B1x15ZNmEYcQMK1YL2\n\t5zcPr1GQO/PierSX+Z3r91fEyrz3QmmFABGv9d97CJi2Cr6ILqOllsX5m2bnaxitJdbLYsHhHNa\n\tXy5LqGIhTHeBUipldty86vxXnVCxcl70V0J+GT4zfJ/TWojMb0GiitRix3B+JbutljizcvVXb+E\n\tu+dvdLiRzzmPeVbpTF01m18EfMda0hhb3w4UmKF3zmp/8lSD1z3kGaBI5BkPlBhaUD5aDo+GZZA\n\tXBzPUpz5ET2ElU602zDgHDCy+gyxWUus//UGQ9QIJpoqhQZ4nTBIxAWbLmsJ4V+3NBTgTYgu25+\n\t4mRRJjTYR5eMI2XsBGG38w8iaZ2S8qlSXaVsQW8Sc9qA8R6cpNik2UUOfKq+nAtLy9w==", "X-Received": [ "by 2002:a17:90a:9f93:b0:340:f7d6:dc70 with SMTP id\n 98e67ed59e1d1-353fecdf887mr2781747a91.13.1769586365892;\n Tue, 27 Jan 2026 23:46:05 -0800 (PST)", "by 2002:a17:90a:9f93:b0:340:f7d6:dc70 with SMTP id\n 98e67ed59e1d1-353fecdf887mr2781732a91.13.1769586365474;\n Tue, 27 Jan 2026 23:46:05 -0800 (PST)" ], "From": "Gerald Yang <gerald.yang@canonical.com>", "To": "tytso@mit.edu,\n\tadilger.kernel@dilger.ca,\n\tjack@suse.cz", "Cc": "linux-ext4@vger.kernel.org,\n\tgerald.yang.tw@gmail.com,\n\tGerald Yang <gerald.yang@canonical.com>", "Subject": "[PATCH] ext4: Fix call trace when remounting to read only in\n data=journal mode", "Date": "Wed, 28 Jan 2026 15:45:15 +0800", "Message-ID": "<20260128074515.2028982-1-gerald.yang@canonical.com>", "X-Mailer": "git-send-email 2.43.0", "Precedence": "bulk", "X-Mailing-List": "linux-ext4@vger.kernel.org", "List-Id": "<linux-ext4.vger.kernel.org>", "List-Subscribe": "<mailto:linux-ext4+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-ext4+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Spam-Status": "No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org" }, "content": "When remounting the filesystem to read only in data=journal mode\nit may dump the following call trace:\n\n[ 71.629350] CPU: 0 UID: 0 PID: 177 Comm: kworker/u96:5 Tainted: G E 6.19.0-rc7 #1 PREEMPT(voluntary)\n[ 71.629352] Tainted: [E]=UNSIGNED_MODULE\n[ 71.629353] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)/LXD, BIOS unknown 2/2/2022\n[ 71.629354] Workqueue: writeback wb_workfn (flush-7:4)\n[ 71.629359] RIP: 0010:ext4_journal_check_start+0x8b/0xd0\n[ 71.629360] Code: 31 ff 45 31 c0 45 31 c9 e9 42 ad c4 00 48 8b 5d f8 b8 fb ff ff ff c9 31 d2 31 c9 31 f6 31 ff 45 31 c0 45 31 c9 c3 cc cc cc cc <0f> 0b b8 e2 ff ff ff eb c2 0f 0b eb\n a9 44 8b 42 08 68 c7 53 ce b8\n[ 71.629361] RSP: 0018:ffffcf32c0fdf6a8 EFLAGS: 00010202\n[ 71.629364] RAX: ffff8f08c8505000 RBX: ffff8f08c67ee800 RCX: 0000000000000000\n[ 71.629366] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000\n[ 71.629367] RBP: ffffcf32c0fdf6b0 R08: 0000000000000001 R09: 0000000000000000\n[ 71.629368] R10: ffff8f08db18b3a8 R11: 0000000000000000 R12: 0000000000000000\n[ 71.629368] R13: 0000000000000002 R14: 0000000000000a48 R15: ffff8f08c67ee800\n[ 71.629369] FS: 0000000000000000(0000) GS:ffff8f0a7d273000(0000) knlGS:0000000000000000\n[ 71.629370] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[ 71.629371] CR2: 00007b66825905cc CR3: 000000011053d004 CR4: 0000000000772ef0\n[ 71.629374] PKRU: 55555554\n[ 71.629374] Call Trace:\n[ 71.629378] <TASK>\n[ 71.629382] __ext4_journal_start_sb+0x38/0x1c0\n[ 71.629383] mpage_prepare_extent_to_map+0x4af/0x580\n[ 71.629389] ? sbitmap_get+0x73/0x180\n[ 71.629399] ext4_do_writepages+0x3cc/0x10a0\n[ 71.629400] ? kvm_sched_clock_read+0x11/0x20\n[ 71.629409] ext4_writepages+0xc8/0x1b0\n[ 71.629410] ? ext4_writepages+0xc8/0x1b0\n[ 71.629411] do_writepages+0xc4/0x180\n[ 71.629416] __writeback_single_inode+0x45/0x350\n[ 71.629419] ? _raw_spin_unlock+0xe/0x40\n[ 71.629423] writeback_sb_inodes+0x260/0x5c0\n[ 71.629425] ? __schedule+0x4d1/0x1870\n[ 71.629429] __writeback_inodes_wb+0x54/0x100\n[ 71.629431] ? queue_io+0x82/0x140\n[ 71.629433] wb_writeback+0x1ab/0x330\n[ 71.629448] wb_workfn+0x31d/0x410\n[ 71.629450] process_one_work+0x191/0x3e0\n[ 71.629455] worker_thread+0x2e3/0x420\n\nThis issue can be easily reproduced by:\nmkdir -p mnt\ndd if=/dev/zero of=ext4disk bs=1G count=2 oflag=direct\nmkfs.ext4 ext4disk\ntune2fs -o journal_data ext4disk\nmount ext4disk mnt\nfio --name=fiotest --rw=randwrite --bs=4k --runtime=3 --ioengine=libaio --iodepth=128 --numjobs=4 --filename=mnt/fiotest --filesize=1G --group_reporting\nmount -o remount,ro ext4disk mnt\nsync\n\nIn data=journal mode, metadata and data are both written to the journal\nfirst, but for the second write, ext4 relies on the writeback thread to\nflush the data to the real file location.\n\nAfter the filesystem is remounted to read only, writeback thread still\nwrites data to it and causes the issue. Return early to avoid starting\na journal transaction on a read only filesystem, once the filesystem\nbecomes writable again, the write thread will continue writing data.\n\nSigned-off-by: Gerald Yang <gerald.yang@canonical.com>\n---\n fs/ext4/inode.c | 11 +++++++++++\n 1 file changed, 11 insertions(+)", "diff": "diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c\nindex 15ba4d42982f..4e3bbf17995e 100644\n--- a/fs/ext4/inode.c\n+++ b/fs/ext4/inode.c\n@@ -2787,6 +2787,17 @@ static int ext4_do_writepages(struct mpage_da_data *mpd)\n \tif (unlikely(ret))\n \t\tgoto out_writepages;\n \n+\t/*\n+\t * For data=journal, if the filesystem was remounted read-only,\n+\t * the writeback thread may still write dirty pages to it.\n+\t * Return early to avoid starting a journal transaction on a\n+\t * read-only filesystem.\n+\t */\n+\tif (ext4_should_journal_data(inode) && sb_rdonly(inode->i_sb)) {\n+\t\tret = -EROFS;\n+\t\tgoto out_writepages;\n+\t}\n+\n \t/*\n \t * If we have inline data and arrive here, it means that\n \t * we will soon create the block for the 1st page, so\n", "prefixes": [] }