get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2226019,
    "url": "http://patchwork.ozlabs.org/api/patches/2226019/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/patch/20260422021042.4157510-7-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-7-yi.zhang@huaweicloud.com>",
    "list_archive_url": null,
    "date": "2026-04-22T02:10:26",
    "name": "[v3,06/22] ext4: pass out extent seq counter when mapping da blocks",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "4950321adc97f9f6976188f47c0293e2c5081a78",
    "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-7-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/2226019/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2226019/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <SRS0=JB8N=CV=vger.kernel.org=linux-ext4+bounces-15984-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=jb8n=cv=vger.kernel.org=linux-ext4+bounces-15984-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-15984-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=45.249.212.56",
            "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 4g0jgs5PJXz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 12:23:21 +1000 (AEST)",
            "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g0jgs4xd6z4wK3\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 12:23:21 +1000 (AEST)",
            "by gandalf.ozlabs.org (Postfix)\n\tid 4g0jgs4sffz4w1l; Wed, 22 Apr 2026 12:23:21 +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 4g0jgp1pBsz4wK3\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 12:23:18 +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 2A0DA30A3001\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 02:18:18 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 28B9637C103;\n\tWed, 22 Apr 2026 02:17:09 +0000 (UTC)",
            "from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com\n [45.249.212.56])\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 DD0A7345721;\n\tWed, 22 Apr 2026 02:17:02 +0000 (UTC)",
            "from mail.maildlp.com (unknown [172.19.163.198])\n\tby dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4g0jX40lJ0zKHMQS;\n\tWed, 22 Apr 2026 10:16:36 +0800 (CST)",
            "from mail02.huawei.com (unknown [10.116.40.252])\n\tby mail.maildlp.com (Postfix) with ESMTP id 238D340601;\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--.2635S10;\n\tWed, 22 Apr 2026 10:16:55 +0800 (CST)"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776824601; cv=pass;\n\tb=qkKWsB8jOa/eGKzWuWOUsAISVAoK5XvVqP5FrSW3Wa+GwwTB77KCkxK4SwjpxYOdzRD+/Z2pSTmFfwUoFe5XWjbYZgwZuxQPjrWTHTXY6kxo50eUl70raVhYrWM4Kn8ZyMkwMmnTPiEEWswcveF8N3lwEmCOTdI3Isa4aqSMhTYWTRdz4eTNEvhl4kbaRySM1egxVhKp3TN9vIbmk82gfc6vVdqZ1qFcZxT7ZWrvmhFcewCfLZ6FnAwV3nw9yEC/LCS/q+LMKSPnN4xH24nclzSRJrMhi5kxDJeRXTOvQNoe54dgQv5ztvJx4qzTpu6RLpPvfplXJ2zNEQhG3YXGYg==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776824228; cv=none;\n b=WZmrp9T/41keWanURNjehijoMOVvYkswkyQkPjwYbZ6n1I1EtNXZ5gcBjyCbTAZ4R4roKHL7BnqVX4jDKMQxTo0T2uTNU8PJiI0DiyVGtbgjFeyNmQC88HeM1yXQH/w+Xl2LrQtzvWUNWMaY3UcU73QIeEuBUO/VaP2HvIhCBsQ="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776824601; c=relaxed/relaxed;\n\tbh=vOCozCMiv5cQP80oPIbnUsqDksbbrL6P1oto/s8IIC4=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=nuRDDAa/rWwdpva4xwEJrBCEmeXUmvrLrE2OJc0oApweMWmMTkbSCwnHM6vmGu4WiGcDs/IqwZK8YWgQ0xZndVi1g1ChjP2S+RP9RCzlvxoQ5k9yaht9ezwapdohMf9yEpawDVTkObxS2gZSAXEbdrNM57vHge0hwt6ZfHmyVXmlcy9xXrnRwQj8Jp/piroHe8MWL100XrD2ZJ3n2C4Lbumk22pGXDxDC0/qJWWyWFr5H0T56/0ybpbOJaloKbxAoHUEH75P8vYeTrVnoV7enipOJsKRDMYDn0zFiJ9uJsNNsY2wZxhbh/sWbzi12ucLeTPBosw3YwISH1yQw5YXew==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776824228; c=relaxed/simple;\n\tbh=LSueVWoJnsscuVIREEDByNIXpfqsPJMkD635NnFcnwE=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=WoadY5RmwKCPcStbAGK21nEac/brzNx4CYwD9J6aNEveFqrYFQ/sB3Z6exfR9M0/sV4N9x4IxzwyTxb6DAO0SGWofv+ShmehAiQvB9qQuIlgwD2zlAKFqx7yZPImSrLRMqaqYNUMxjR1jAznOtJoenMk9U/uEqayFfi9w1h3Jak="
        ],
        "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-15984-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.56"
        ],
        "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 06/22] ext4: pass out extent seq counter when mapping da\n blocks",
        "Date": "Wed, 22 Apr 2026 10:10:26 +0800",
        "Message-ID": "<20260422021042.4157510-7-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--.2635S10",
        "X-Coremail-Antispam": "1UD129KBjvJXoW7tF1ftFWDJr48AF4xKw1kuFg_yoW8Cr15p3\n\t9YkF1rGw18Zw1q9ay8X3W7ZFyrKan8ArW7GrWfXw1j9a4DWFySqF4jkF17AFykKr4xXr1F\n\tvF48CryUC3ySkFDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\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_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUCVW8JwCI\n\t42IY6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF\n\t4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8Jr0_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\nThe iomap buffered write path does not hold any locks between querying\ninode extent mapping information and performing buffered writes. It\nrelies on the sequence counter saved in the inode to detect stale\nmappings.\n\nCommit 07c440e8da8f (\"ext4: pass out extent seq counter when mapping\nblocks\") added the m_seq field to ext4_map_blocks to pass out extent\nsequence numbers, but it missed two callsites within\next4_da_map_blocks(). These callsites are on the delayed allocation\npath, which is also used in the iomap buffered write path. Pass out the\nsequence counter to ensure stale mappings can be detected.\n\nSigned-off-by: Zhang Yi <yi.zhang@huawei.com>\n---\n fs/ext4/inode.c | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c\nindex df21f6870ec4..5ffd6aeb3485 100644\n--- a/fs/ext4/inode.c\n+++ b/fs/ext4/inode.c\n@@ -1929,7 +1929,7 @@ static int ext4_da_map_blocks(struct inode *inode, struct ext4_map_blocks *map)\n \text4_check_map_extents_env(inode);\n \n \t/* Lookup extent status tree firstly */\n-\tif (ext4_es_lookup_extent(inode, map->m_lblk, NULL, &es, NULL)) {\n+\tif (ext4_es_lookup_extent(inode, map->m_lblk, NULL, &es, &map->m_seq)) {\n \t\tmap->m_len = min_t(unsigned int, map->m_len,\n \t\t\t\t   es.es_len - (map->m_lblk - es.es_lblk));\n \n@@ -1982,7 +1982,7 @@ static int ext4_da_map_blocks(struct inode *inode, struct ext4_map_blocks *map)\n \t * is held in write mode, before inserting a new da entry in\n \t * the extent status tree.\n \t */\n-\tif (ext4_es_lookup_extent(inode, map->m_lblk, NULL, &es, NULL)) {\n+\tif (ext4_es_lookup_extent(inode, map->m_lblk, NULL, &es, &map->m_seq)) {\n \t\tmap->m_len = min_t(unsigned int, map->m_len,\n \t\t\t\t   es.es_len - (map->m_lblk - es.es_lblk));\n \n",
    "prefixes": [
        "v3",
        "06/22"
    ]
}