get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2226007,
    "url": "http://patchwork.ozlabs.org/api/patches/2226007/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/patch/20260422021042.4157510-13-yi.zhang@huaweicloud.com/",
    "project": {
        "id": 8,
        "url": "http://patchwork.ozlabs.org/api/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": "<20260422021042.4157510-13-yi.zhang@huaweicloud.com>",
    "list_archive_url": null,
    "date": "2026-04-22T02:10:32",
    "name": "[v3,12/22] iomap: support invalidating partial folios",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "5ef19296906bfcf04632ac1eb74a6ec9c725db33",
    "submitter": {
        "id": 85428,
        "url": "http://patchwork.ozlabs.org/api/people/85428/?format=api",
        "name": "Zhang Yi",
        "email": "yi.zhang@huaweicloud.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-ext4/patch/20260422021042.4157510-13-yi.zhang@huaweicloud.com/mbox/",
    "series": [
        {
            "id": 500911,
            "url": "http://patchwork.ozlabs.org/api/series/500911/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/list/?series=500911",
            "date": "2026-04-22T02:10:23",
            "name": "ext4: use iomap for regular file's buffered I/O path",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/500911/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2226007/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2226007/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <SRS0=cZjX=CV=vger.kernel.org=linux-ext4+bounces-15975-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 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=czjx=cv=vger.kernel.org=linux-ext4+bounces-15975-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.105.105.114 arc.chain=subspace.kernel.org",
            "gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com",
            "gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15975-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=45.249.212.51",
            "smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=huaweicloud.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)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0jbp50HYz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 12:19:50 +1000 (AEST)",
            "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g0jbp4VKKz4wJh\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 12:19:50 +1000 (AEST)",
            "by gandalf.ozlabs.org (Postfix)\n\tid 4g0jbp4PvFz4wKJ; Wed, 22 Apr 2026 12:19:50 +1000 (AEST)",
            "from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\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 4g0jbk4k0vz4wJh\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 12:19:46 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 9627A3075013\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 02:17:36 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 7C69735E953;\n\tWed, 22 Apr 2026 02:17:06 +0000 (UTC)",
            "from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com\n [45.249.212.51])\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 A036B2FFFA4;\n\tWed, 22 Apr 2026 02:17:03 +0000 (UTC)",
            "from mail.maildlp.com (unknown [172.19.163.177])\n\tby dggsgout11.his.huawei.com (SkyGuard) with ESMTPS id 4g0jWM44GWzYQtrC;\n\tWed, 22 Apr 2026 10:15:59 +0800 (CST)",
            "from mail02.huawei.com (unknown [10.116.40.252])\n\tby mail.maildlp.com (Postfix) with ESMTP id BBBFF405F8;\n\tWed, 22 Apr 2026 10:16:56 +0800 (CST)",
            "from huaweicloud.com (unknown [10.50.85.155])\n\tby APP3 (Coremail) with SMTP id _Ch0CgB3JL6PL+hpqkgUBQ--.2635S16;\n\tWed, 22 Apr 2026 10:16:56 +0800 (CST)"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776824390; cv=pass;\n\tb=ABxmXQnCCf8V6calpdwuFE9dSm+AeRf6/18Zf8Injf0NCkuM76RpLRurORbyRQP9EeYi9w2BGbuCSrw7JMcbRrX8ao8BSE4grsMtXOtPKiQhe29yxkPp65P/8S8rWrBLyue6PueY4bV0hhMEHBu25LkdMugFRtv2IVr2UgJ6ZY+BqMeGTV+u/NgPM0XdZVPLW/y7/+9GAC+mcWcLX/Z1mnZyhByux5TUSsi9W2409qGxuajhJfYpOr8mrTPKmfk5NHCCTyMZCKBAsSoGxDn/RBIIb2lMkRh6yE1odwyYMlmHSZXymBUuZczj+N+bIOBkc5lHC8D95AMelT2uNtJruQ==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776824226; cv=none;\n b=uyK5HxVnbIlOViqiA/fWt2WWBMs8n9//YSzG4IgfpiqLW3kAby5FQ8IkOeqyqiGK9/Ih4tIOXDWgSmb3YfUH0DdkBFxNCOJKQBxYcoJn7kz03BCXeeC8CuhTfuZHFvpYqZz5WnZbhoJEyB1BfuIT7b9rEZ7WHIVlDl9tcKqCrjM="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776824390; c=relaxed/relaxed;\n\tbh=3a9NMWThrTb74J2F2qL4FkYd/j94NkbZiW4GW+4Pd2k=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=B4yLM8uxd9v0p2nhuCL9BcLbfWXqjEwjYautJZ+tv72eYNvHesfX/m5YTg/fZjfRCqWRxm6fZRKWMkONeei8TrW/yoD4S1zZKT8yNz4dIMs+ycc27jA8BLqheHQp5OdXWMU3c6YfC+nTvCfS3T8UiusmCQGotC4UXpMDhphkonwahEWaEYt8e3Vt+nUBMKOmsv9cvMF+KV3Y9rlJ0fwWgIBlv1FKzKNlW6ObpF/TXT9zy8z3rVOvUfdzwzsCxG5RJJRlghEslmz4mu2RNN2Zs6Wyt2GJimflEvl363F4y9Qkb+hRRypP2NFJbs/oiZo19F1DAdTjf0g41SiUz00hhA==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776824226; c=relaxed/simple;\n\tbh=SGgAVzQKlalx4575A8xE0nJS4/9k31qQPrfyU/eUHtI=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=aASOaVDemB56ndcIMtNG20u/LtrIQfPwcbqDVyFphpsRq/UHPnn6QLmGeJsmA0gxzFuMJuBkrIMkdLa0WiX54u47aYK8LXEdXsWebm2wze0t8aFYRJjZ33HBSoNlsbzK7PF7Ut+aRnF4EZ16oOBDD/30cbVMj5TiWlOxwoSozNk="
        ],
        "ARC-Authentication-Results": [
            "i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com;\n spf=pass (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15975-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org",
            "i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com;\n spf=pass smtp.mailfrom=huaweicloud.com; arc=none smtp.client-ip=45.249.212.51"
        ],
        "From": "Zhang Yi <yi.zhang@huaweicloud.com>",
        "To": "linux-ext4@vger.kernel.org,\n\tlinux-fsdevel@vger.kernel.org",
        "Cc": "linux-kernel@vger.kernel.org,\n\ttytso@mit.edu,\n\tadilger.kernel@dilger.ca,\n\tlibaokun@linux.alibaba.com,\n\tjack@suse.cz,\n\tojaswin@linux.ibm.com,\n\tritesh.list@gmail.com,\n\tdjwong@kernel.org,\n\thch@infradead.org,\n\tyi.zhang@huawei.com,\n\tyi.zhang@huaweicloud.com,\n\tyizhang089@gmail.com,\n\tyangerkun@huawei.com,\n\tyukuai@fnnas.com",
        "Subject": "[PATCH v3 12/22] iomap: support invalidating partial folios",
        "Date": "Wed, 22 Apr 2026 10:10:32 +0800",
        "Message-ID": "<20260422021042.4157510-13-yi.zhang@huaweicloud.com>",
        "X-Mailer": "git-send-email 2.52.0",
        "In-Reply-To": "<20260422021042.4157510-1-yi.zhang@huaweicloud.com>",
        "References": "<20260422021042.4157510-1-yi.zhang@huaweicloud.com>",
        "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-CM-TRANSID": "_Ch0CgB3JL6PL+hpqkgUBQ--.2635S16",
        "X-Coremail-Antispam": "1UD129KBjvJXoW7uF1xtrW5Jw48tw18Kr4fAFb_yoW8CryrpF\n\tW3KrWDGryDGr17uw47Ca1fXF1j9a9xXFy7CFW3Gw1a9Fs8Jw1qgFy7Ka1YgayUJryxAF1S\n\tvrsFgFyvqF15A3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n\t9KBjDU0xBIdaVrnRJUUUmS14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0\n\trVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI\n\tkIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2\n\tz4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F\n\t4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq\n\t3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7\n\tIYx2IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4U\n\tM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2\n\tkIc2xKxwCY1x0262kKe7AKxVWUtVW8ZwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkE\n\tbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67\n\tAF67kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVW8JVW5JwCI\n\t42IY6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF\n\t4lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY1x0267AKxVW8Jr0_Cr1UYxBI\n\tdaVFxhVjvjDU0xZFpf9x0JUWMKtUUUUU=",
        "X-CM-SenderInfo": "d1lo6xhdqjqx5xdzvxpfor3voofrz/",
        "X-Spam-Status": "No, score=-1.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDMARC_MISSING,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"
    },
    "content": "From: Zhang Yi <yi.zhang@huawei.com>\n\nCurrent iomap_invalidate_folio() can only invalidate an entire folio. If\nwe truncate a partial folio on a filesystem where the block size is\nsmaller than the folio size, it will leave behind dirty bits for the\ntruncated or punched blocks. During the write-back process, it will\nattempt to map the invalid hole range. Fortunately, this has not caused\nany real problems so far because the ->writeback_range() function\ncorrects the length.\n\nHowever, the implementation of FALLOC_FL_ZERO_RANGE in ext4 depends on\nthe support for invalidating partial folios. When ext4 partially zeroes\nout a dirty and unwritten folio, it does not perform a flush first like\nXFS. Therefore, if the dirty bits of the corresponding area cannot be\ncleared, the zeroed area after writeback remains in the written state\nrather than reverting to the unwritten state. Fix this by supporting\ninvalidation of partial folios.\n\nSigned-off-by: Zhang Yi <yi.zhang@huawei.com>\nReviewed-by: Darrick J. Wong <djwong@kernel.org>\n---\nThis is cherry picked form:\n https://lore.kernel.org/linux-fsdevel/20240812121159.3775074-3-yi.zhang@huaweicloud.com/\nNo code changes, only update the commit message to explain why Ext4\nneeds this.\n\n fs/iomap/buffered-io.c | 2 ++\n 1 file changed, 2 insertions(+)",
    "diff": "diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c\nindex 7e7d5b776d35..b17296b61a6e 100644\n--- a/fs/iomap/buffered-io.c\n+++ b/fs/iomap/buffered-io.c\n@@ -761,6 +761,8 @@ void iomap_invalidate_folio(struct folio *folio, size_t offset, size_t len)\n \t\tWARN_ON_ONCE(folio_test_writeback(folio));\n \t\tfolio_cancel_dirty(folio);\n \t\tifs_free(folio);\n+\t} else {\n+\t\tiomap_clear_range_dirty(folio, offset, len);\n \t}\n }\n EXPORT_SYMBOL_GPL(iomap_invalidate_folio);\n",
    "prefixes": [
        "v3",
        "12/22"
    ]
}