get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2216337,
    "url": "http://patchwork.ozlabs.org/api/patches/2216337/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/patch/20260326095354.16340-64-jack@suse.cz/",
    "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": "<20260326095354.16340-64-jack@suse.cz>",
    "list_archive_url": null,
    "date": "2026-03-26T09:54:16",
    "name": "[22/42] fs: Ignore inode metadata buffers in inode_lru_isolate()",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "2e010cd56403f97bbe5d30f7a74b806d6053ea41",
    "submitter": {
        "id": 363,
        "url": "http://patchwork.ozlabs.org/api/people/363/?format=api",
        "name": "Jan Kara",
        "email": "jack@suse.cz"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-ext4/patch/20260326095354.16340-64-jack@suse.cz/mbox/",
    "series": [
        {
            "id": 497561,
            "url": "http://patchwork.ozlabs.org/api/series/497561/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/list/?series=497561",
            "date": "2026-03-26T09:53:55",
            "name": "fs: Move metadata bh tracking from address_space",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/497561/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2216337/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2216337/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <SRS0=rmvo=B2=vger.kernel.org=linux-ext4+bounces-15418-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 (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=PchJBn/u;\n\tdkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=aIlNik5a;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=PchJBn/u;\n\tdkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=aIlNik5a;\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=rmvo=b2=vger.kernel.org=linux-ext4+bounces-15418-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.234.253.10 arc.chain=subspace.kernel.org",
            "gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=suse.cz",
            "gandalf.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=PchJBn/u;\n\tdkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=aIlNik5a;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=PchJBn/u;\n\tdkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=aIlNik5a;\n\tdkim-atps=neutral",
            "gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15418-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"PchJBn/u\";\n\tdkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"aIlNik5a\";\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"PchJBn/u\";\n\tdkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"aIlNik5a\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=195.135.223.130",
            "smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=suse.cz",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=suse.cz",
            "smtp-out1.suse.de;\n\tnone"
        ],
        "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 4fhKgS2kZQz1y1G\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 21:26:11 +1100 (AEDT)",
            "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fhKgR4MGmz4wBB\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 21:26:11 +1100 (AEDT)",
            "by gandalf.ozlabs.org (Postfix)\n\tid 4fhKgR4Fxbz4wCX; Thu, 26 Mar 2026 21:26:11 +1100 (AEDT)",
            "from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\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 4fhKgN1qrmz4wBB\n\tfor <patchwork-incoming@ozlabs.org>; Thu, 26 Mar 2026 21:26:08 +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 441EB31345D2\n\tfor <patchwork-incoming@ozlabs.org>; Thu, 26 Mar 2026 09:58:29 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B8795399030;\n\tThu, 26 Mar 2026 09:56:41 +0000 (UTC)",
            "from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AE9D3C6616\n\tfor <linux-ext4@vger.kernel.org>; Thu, 26 Mar 2026 09:56:34 +0000 (UTC)",
            "from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby smtp-out1.suse.de (Postfix) with ESMTPS id 6DB974D28C;\n\tThu, 26 Mar 2026 09:55:01 +0000 (UTC)",
            "from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 57F924A0AA;\n\tThu, 26 Mar 2026 09:55:01 +0000 (UTC)",
            "from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n\tby imap1.dmz-prg2.suse.org with ESMTPSA\n\tid BRF/FXUCxWndYAAAD6G6ig\n\t(envelope-from <jack@suse.cz>); Thu, 26 Mar 2026 09:55:01 +0000",
            "by quack3.suse.cz (Postfix, from userid 1000)\n\tid 38E91A0C69; Thu, 26 Mar 2026 10:54:49 +0100 (CET)"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1774520771; cv=pass;\n\tb=hfwGkJwmB2aj0wlE87LDR3F+nFASXkSAn1yRMSxyk/J6jDRu8KG7XuLDtLJ/xTkL857Ye7JrzLlXzs3ZI7a4IvJvKGt88KcbwErBUUrPvh4tUfyVeyHcXKWDxQZH6Q/RL/+jNpnDUhfISXu0KSWWsEuzNaOphYixr6akNY3PmxNY6K6mjmgJeYsmMJL7Zbbhl5D/Wh74d5cSHOLQmqkS7EIFephydUVAVMTVRTCjLmdd8bdTmYifgJ6vx9QWeORMqvXJqA04SS20G225wSRDfdVUS8EGwt9GRj8WUANumnErOy7qFB6tyEeDqSK/HsZwsxGZysA90x9LmVE0NNOlxQ==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774519000; cv=none;\n b=tLgLpjooLC2aDNKPpRNcgUn/lt+KqnjQewvp/8Ql5AysrTzxnaXB4m7gfsBSXv2QCQf0SMAKOff0JXMoUNY7rJvWXlKZ0Jd56LasaG3zEPV4n4wo8pdjUgT6omXxj+Bo6ZagC6Q9S60zxS00sZyzDJ/wLkQ/IR65yfAD977xzCg="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1774520771; c=relaxed/relaxed;\n\tbh=ooassw/QDamRSv4eFDzDiWF2BAMQ/AyZZpBBDh5GTkk=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=VJUsdjIFHGWvmWd1SxCptNt7zfHWPF/m58QuurNjXFULJb93DV0bkfgntJ+OpEVTBSeHqLPmg3lDuZZfBniHCRl+YlX1qyz1QRlvA2bBHCOraH1dEWg5njn548+bTY4OclHOh9FfpJPPgCJRvWkYXhbUPuAzhQBUr05VBIv9OlBVxFDYCAzJLKSY+DgpSaVIx1QSe6PuqkK3IkpjzhpvJGtzIN5Qe3WOKyk13IgPNy4P8XYPMSY9NiD/60ipRI5ZulXpIv4jIUrreH8fZ0/d/73IhicARH0YjZ3aFEj9U7qQ4gAcg20TLjc06Z0tfnuJQ0Z0f1sQjk4kWB+cweD15Q==",
            "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774519000; c=relaxed/simple;\n\tbh=1Pb/adcwW6xrIXddFLxPoaBb/An4k4KZgPxdu6Dhu5I=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=KOcAgDKKGUmwq8OnnTmL7r5Y8BKenuC1n9m3rHwa8oA8m2PYv5ptgHU4d2ABzKPD/IpFSOZUfOH5sB47xz3Ld1NXoMNH0bD49QlPa2ndNVhvO4PLpnbnxzG4izd4nw8xrPywfGH+rzTWtwqzcjWbBgCScTyW8PxK8gSffRA54oc="
        ],
        "ARC-Authentication-Results": [
            "i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=suse.cz; dkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=PchJBn/u;\n dkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=aIlNik5a;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=PchJBn/u;\n dkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=aIlNik5a; dkim-atps=neutral;\n spf=pass (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15418-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=suse.cz;\n spf=pass smtp.mailfrom=suse.cz;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=PchJBn/u;\n dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=aIlNik5a;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=PchJBn/u;\n dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=aIlNik5a; arc=none smtp.client-ip=195.135.223.130"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n\tt=1774518901;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:\n\t content-transfer-encoding:content-transfer-encoding:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=ooassw/QDamRSv4eFDzDiWF2BAMQ/AyZZpBBDh5GTkk=;\n\tb=PchJBn/uiTvq9JPs5YdpwIpkGADAGywcq/XzSfN5A7bIcADmY5EWFUSCRI+46yQ97gsr2Q\n\tihOXWFEHPrMiKIy2YR375+wv2hN84FzbSR4sC4OAW5GSkSkOu2RPjJkdQPD+hjAQWg/dq2\n\tTVp38BnsaShR2F8A10l6IIcE4DdG3NQ=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n\ts=susede2_ed25519; t=1774518901;\n\th=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:\n\t content-transfer-encoding:content-transfer-encoding:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=ooassw/QDamRSv4eFDzDiWF2BAMQ/AyZZpBBDh5GTkk=;\n\tb=aIlNik5at9LkIhV28LQPBrMgymP0PX67T/TWqbRKdECkYcZR1k/97LdqV+W8M8E6hzEylR\n\tdJnaNV8NL2QKYmCQ==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n\tt=1774518901;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:\n\t content-transfer-encoding:content-transfer-encoding:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=ooassw/QDamRSv4eFDzDiWF2BAMQ/AyZZpBBDh5GTkk=;\n\tb=PchJBn/uiTvq9JPs5YdpwIpkGADAGywcq/XzSfN5A7bIcADmY5EWFUSCRI+46yQ97gsr2Q\n\tihOXWFEHPrMiKIy2YR375+wv2hN84FzbSR4sC4OAW5GSkSkOu2RPjJkdQPD+hjAQWg/dq2\n\tTVp38BnsaShR2F8A10l6IIcE4DdG3NQ=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n\ts=susede2_ed25519; t=1774518901;\n\th=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:\n\t content-transfer-encoding:content-transfer-encoding:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=ooassw/QDamRSv4eFDzDiWF2BAMQ/AyZZpBBDh5GTkk=;\n\tb=aIlNik5at9LkIhV28LQPBrMgymP0PX67T/TWqbRKdECkYcZR1k/97LdqV+W8M8E6hzEylR\n\tdJnaNV8NL2QKYmCQ=="
        ],
        "From": "Jan Kara <jack@suse.cz>",
        "To": "<linux-fsdevel@vger.kernel.org>",
        "Cc": "<linux-block@vger.kernel.org>,\n\tChristian Brauner <brauner@kernel.org>,\n\tAl Viro <viro@ZenIV.linux.org.uk>,\n\t<linux-ext4@vger.kernel.org>,\n\tTed Tso <tytso@mit.edu>,\n\t\"Tigran A. Aivazian\" <aivazian.tigran@gmail.com>,\n\tDavid Sterba <dsterba@suse.com>,\n\tOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,\n\tMuchun Song <muchun.song@linux.dev>,\n\tOscar Salvador <osalvador@suse.de>,\n\tDavid Hildenbrand <david@kernel.org>,\n\tlinux-mm@kvack.org,\n\tlinux-aio@kvack.org,\n\tBenjamin LaHaise <bcrl@kvack.org>,\n\tJan Kara <jack@suse.cz>",
        "Subject": "[PATCH 22/42] fs: Ignore inode metadata buffers in\n inode_lru_isolate()",
        "Date": "Thu, 26 Mar 2026 10:54:16 +0100",
        "Message-ID": "<20260326095354.16340-64-jack@suse.cz>",
        "X-Mailer": "git-send-email 2.51.0",
        "In-Reply-To": "<20260326082428.31660-1-jack@suse.cz>",
        "References": "<20260326082428.31660-1-jack@suse.cz>",
        "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",
        "X-Developer-Signature": "v=1; a=openpgp-sha256; l=5025; i=jack@suse.cz;\n h=from:subject; bh=1Pb/adcwW6xrIXddFLxPoaBb/An4k4KZgPxdu6Dhu5I=;\n b=owEBbQGS/pANAwAIAZydqgc/ZEDZAcsmYgBpxQJFtk+WjKSBCWGAdpRK2Za/U9zFgKL/kcR2N\n V0iH9fht2mJATMEAAEIAB0WIQSrWdEr1p4yirVVKBycnaoHP2RA2QUCacUCRQAKCRCcnaoHP2RA\n 2SnUCACuln/mI/PxPsTv31M30XutA1/xSOjmZ6AQO5K2A1ahrTHIc0T70YSIapvlrknLfBNNsEM\n pUmqJhBfFrBLrRIr2GxeChP5WbLAx33I8aSZ6pP1F5Xu1Ph8NDy1nHWGd2WDJXV1Ro51K4Fqipo\n Z7wUaHwo+fMOL4UlMdl1dUh14YMPFGWUbwFNac9YgfNoyE/zRXTE3UHHluxIKPba9kxbTgsq7a8\n IlPCMFbgoV7W7WTFtBbFS4/lhyAnK9nZ6ZKLkTAgSmWZi5R05jR+o0yn4eSCa4LVI1haR/vKgfw\n eTFQcSXs+/djg9oah1jPy1yABt2NMFqxn5ZtEkTR5mgUS4w4",
        "X-Developer-Key": "i=jack@suse.cz; a=openpgp;\n fpr=93C6099A142276A28BBE35D815BC833443038D8C",
        "Content-Transfer-Encoding": "8bit",
        "X-Spamd-Result": "default: False [-1.30 / 50.00];\n\tBAYES_HAM(-3.00)[100.00%];\n\tSUSPICIOUS_RECIPS(1.50)[];\n\tNEURAL_HAM_LONG(-1.00)[-1.000];\n\tMID_CONTAINS_FROM(1.00)[];\n\tR_MISSING_CHARSET(0.50)[];\n\tNEURAL_HAM_SHORT(-0.20)[-1.000];\n\tMIME_GOOD(-0.10)[text/plain];\n\tTAGGED_RCPT(0.00)[];\n\tMIME_TRACE(0.00)[0:+];\n\tFUZZY_RATELIMITED(0.00)[rspamd.com];\n\tRCVD_VIA_SMTP_AUTH(0.00)[];\n\tTO_DN_SOME(0.00)[];\n\tRCPT_COUNT_TWELVE(0.00)[16];\n\tARC_NA(0.00)[];\n\tRCVD_COUNT_THREE(0.00)[3];\n\tDKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];\n\tFROM_HAS_DN(0.00)[];\n\tFREEMAIL_CC(0.00)[vger.kernel.org,kernel.org,ZenIV.linux.org.uk,mit.edu,gmail.com,suse.com,mail.parknet.co.jp,linux.dev,suse.de,kvack.org,suse.cz];\n\tR_RATELIMIT(0.00)[to(RLpnp1psq57oqao6ocwdpbxen9),to_ip_from(RLck8brw5hxmszoarioc7838it)];\n\tFROM_EQ_ENVFROM(0.00)[];\n\tTO_MATCH_ENVRCPT_ALL(0.00)[];\n\tDBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo];\n\tRCVD_TLS_LAST(0.00)[];\n\tFREEMAIL_ENVRCPT(0.00)[gmail.com]",
        "X-Spam-Score": "-1.30",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_MISSING,\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": "There are only a few filesystems that use generic tracking of inode\nmetadata buffer heads. As such the logic to reclaim tracked metadata\nbuffer heads in inode_lru_isolate() doesn't bring a benefit big enough\nto justify intertwining of inode reclaim and metadata buffer head\ntracking. Just treat tracked metadata buffer heads as any other metadata\nfilesystem has to properly clean up on inode eviction and stop handling\nit in inode_lru_isolate(). As a result filesystems using generic\ntracking of metadata buffer heads may now see dirty metadata buffers in\ntheir .evict methods more often which can slow down inode reclaim but\ngiven these filesystems aren't used in performance demanding setups we\nshould be fine.\n\nSigned-off-by: Jan Kara <jack@suse.cz>\n---\n fs/buffer.c                 | 29 -----------------------------\n fs/inode.c                  | 21 +++++++++------------\n include/linux/buffer_head.h |  3 ---\n 3 files changed, 9 insertions(+), 44 deletions(-)",
    "diff": "diff --git a/fs/buffer.c b/fs/buffer.c\nindex 1bc0f22f3cc2..bd48644e1bf8 100644\n--- a/fs/buffer.c\n+++ b/fs/buffer.c\n@@ -878,35 +878,6 @@ void invalidate_inode_buffers(struct inode *inode)\n }\n EXPORT_SYMBOL(invalidate_inode_buffers);\n \n-/*\n- * Remove any clean buffers from the inode's buffer list.  This is called\n- * when we're trying to free the inode itself.  Those buffers can pin it.\n- *\n- * Returns true if all buffers were removed.\n- */\n-int remove_inode_buffers(struct inode *inode)\n-{\n-\tint ret = 1;\n-\n-\tif (inode_has_buffers(inode)) {\n-\t\tstruct address_space *mapping = &inode->i_data;\n-\t\tstruct list_head *list = &mapping->i_private_list;\n-\t\tstruct address_space *buffer_mapping = mapping->i_private_data;\n-\n-\t\tspin_lock(&buffer_mapping->i_private_lock);\n-\t\twhile (!list_empty(list)) {\n-\t\t\tstruct buffer_head *bh = BH_ENTRY(list->next);\n-\t\t\tif (buffer_dirty(bh)) {\n-\t\t\t\tret = 0;\n-\t\t\t\tbreak;\n-\t\t\t}\n-\t\t\t__remove_assoc_queue(bh);\n-\t\t}\n-\t\tspin_unlock(&buffer_mapping->i_private_lock);\n-\t}\n-\treturn ret;\n-}\n-\n /*\n  * Create the appropriate buffers when given a folio for data area and\n  * the size of each buffer.. Use the bh->b_this_page linked list to\ndiff --git a/fs/inode.c b/fs/inode.c\nindex cc12b68e021b..4f98a5f04bbd 100644\n--- a/fs/inode.c\n+++ b/fs/inode.c\n@@ -17,7 +17,6 @@\n #include <linux/fsverity.h>\n #include <linux/mount.h>\n #include <linux/posix_acl.h>\n-#include <linux/buffer_head.h> /* for inode_has_buffers */\n #include <linux/ratelimit.h>\n #include <linux/list_lru.h>\n #include <linux/iversion.h>\n@@ -367,7 +366,6 @@ struct inode *alloc_inode(struct super_block *sb)\n \n void __destroy_inode(struct inode *inode)\n {\n-\tBUG_ON(inode_has_buffers(inode));\n \tinode_detach_wb(inode);\n \tsecurity_inode_free(inode);\n \tfsnotify_inode_delete(inode);\n@@ -994,19 +992,18 @@ static enum lru_status inode_lru_isolate(struct list_head *item,\n \t * page cache in order to free up struct inodes: lowmem might\n \t * be under pressure before the cache inside the highmem zone.\n \t */\n-\tif (inode_has_buffers(inode) || !mapping_empty(&inode->i_data)) {\n+\tif (!mapping_empty(&inode->i_data)) {\n+\t\tunsigned long reap;\n+\n \t\tinode_pin_lru_isolating(inode);\n \t\tspin_unlock(&inode->i_lock);\n \t\tspin_unlock(&lru->lock);\n-\t\tif (remove_inode_buffers(inode)) {\n-\t\t\tunsigned long reap;\n-\t\t\treap = invalidate_mapping_pages(&inode->i_data, 0, -1);\n-\t\t\tif (current_is_kswapd())\n-\t\t\t\t__count_vm_events(KSWAPD_INODESTEAL, reap);\n-\t\t\telse\n-\t\t\t\t__count_vm_events(PGINODESTEAL, reap);\n-\t\t\tmm_account_reclaimed_pages(reap);\n-\t\t}\n+\t\treap = invalidate_mapping_pages(&inode->i_data, 0, -1);\n+\t\tif (current_is_kswapd())\n+\t\t\t__count_vm_events(KSWAPD_INODESTEAL, reap);\n+\t\telse\n+\t\t\t__count_vm_events(PGINODESTEAL, reap);\n+\t\tmm_account_reclaimed_pages(reap);\n \t\tinode_unpin_lru_isolating(inode);\n \t\treturn LRU_RETRY;\n \t}\ndiff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h\nindex b16b88bfbc3e..631bf971efc0 100644\n--- a/include/linux/buffer_head.h\n+++ b/include/linux/buffer_head.h\n@@ -517,7 +517,6 @@ void buffer_init(void);\n bool try_to_free_buffers(struct folio *folio);\n int inode_has_buffers(struct inode *inode);\n void invalidate_inode_buffers(struct inode *inode);\n-int remove_inode_buffers(struct inode *inode);\n int sync_mapping_buffers(struct address_space *mapping);\n void invalidate_bh_lrus(void);\n void invalidate_bh_lrus_cpu(void);\n@@ -528,9 +527,7 @@ extern int buffer_heads_over_limit;\n \n static inline void buffer_init(void) {}\n static inline bool try_to_free_buffers(struct folio *folio) { return true; }\n-static inline int inode_has_buffers(struct inode *inode) { return 0; }\n static inline void invalidate_inode_buffers(struct inode *inode) {}\n-static inline int remove_inode_buffers(struct inode *inode) { return 1; }\n static inline int sync_mapping_buffers(struct address_space *mapping) { return 0; }\n static inline void invalidate_bh_lrus(void) {}\n static inline void invalidate_bh_lrus_cpu(void) {}\n",
    "prefixes": [
        "22/42"
    ]
}