From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BE9F1C47DDB for ; Mon, 29 Jan 2024 14:35:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 545486B00A0; Mon, 29 Jan 2024 09:35:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4CD446B00A1; Mon, 29 Jan 2024 09:35:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 36E506B00A2; Mon, 29 Jan 2024 09:35:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 212B26B00A0 for ; Mon, 29 Jan 2024 09:35:14 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E9308A10D0 for ; Mon, 29 Jan 2024 14:35:13 +0000 (UTC) X-FDA: 81732596106.08.161FE8D Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf08.hostedemail.com (Postfix) with ESMTP id 78D9016000D for ; Mon, 29 Jan 2024 14:35:10 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=vlO8ygZG; dmarc=none; spf=none (imf08.hostedemail.com: domain of BATV+95c35c30fd22f84c25d9+7463+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+95c35c30fd22f84c25d9+7463+infradead.org+hch@bombadil.srs.infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706538912; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=t4aNNle3WP07OWgmpnHw+2FFhErVgwmHlzrKqAK/2yQ=; b=oW7reTbIr/vQvty8u9KJdQQWkQYRbzraaqF3s4x5lWQV6nIrjgbBaqY3KpobzKuXNCXNdY 5Gm/4N9waQcTVcVA6LihGD0FfqQ/HVxdv0Ru/ySRGb4YWHrbLd7p6Pi6M1PucGLQDMw4AR SqZukCKB4h4GLQ1V2wgfKx8/imjwKbo= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=vlO8ygZG; dmarc=none; spf=none (imf08.hostedemail.com: domain of BATV+95c35c30fd22f84c25d9+7463+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+95c35c30fd22f84c25d9+7463+infradead.org+hch@bombadil.srs.infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706538912; a=rsa-sha256; cv=none; b=ZW1aJtEZ0a0KOJk0gu3YNEOnSZJbhLPcvxx8JWETtKRA3Ip2gxCx4hqU3RyQR77KptJwBF xHdT4QVfHxwWTOX7eHJDPVv5RaM96ktM6iI/qpTpRbBENk++jjGYqsNlaHQliDxEAlCgn5 eJ2vvKlNnp40DHd1DxlBaIzx1bUQESc= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=t4aNNle3WP07OWgmpnHw+2FFhErVgwmHlzrKqAK/2yQ=; b=vlO8ygZGBOW9HtZuLnadpeCZBv ITVvJ2E3mJIe0V0u0smr5bhz+1FnDT40qss3dMM499uVesd/8SnG6XgAXRDWnqCJe5+giXtWopQnF 5PLKWmdcJ13ibeWWL2vN33Oi+5QKyfj5Kv37U7+v9/hDNEyiv4/kB1TBCk/kMJOv9zinm597o7mfB dpo9QVfpXlMnIYApdpd08ywEGxJ9wAjbLYTL67vBOj2ULMAhAcSEYvRYRjxdWrn1PotW5Qyn6YKsh GD0KQFn8XgutpbjOhvfJUhdznkQXJSESfGZqj9KfXTmi2BCOAHbrSqdMvF7xcxbsn5VdVo9SvSeQ4 a/pMbBlQ==; Received: from [2001:4bb8:182:6550:c70:4a89:bc61:3] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUSj3-0000000D62v-2uCi; Mon, 29 Jan 2024 14:35:06 +0000 From: Christoph Hellwig To: Chandan Babu R , "Darrick J. Wong" , Hugh Dickins , Andrew Morton Cc: linux-xfs@vger.kernel.org, linux-mm@kvack.org Subject: put the xfs xfile abstraction on a diet v3 Date: Mon, 29 Jan 2024 15:34:42 +0100 Message-Id: <20240129143502.189370-1-hch@lst.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspamd-Queue-Id: 78D9016000D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: uenu1h9a3mzj8xo5furmr8ribuqtrdqi X-HE-Tag: 1706538910-49939 X-HE-Meta: U2FsdGVkX18YXPTwTGTJXOH58BNW02pCYWG79O12JR2lYgzHhGcQVU8YgptXDRsbi7R4deC72Uw6lwmMoJV8G0Kbt7jxyevyeUHclT6TVQ9amK4TyvbrrIWdnC/NSrWAqhJHn9NIjBRX3ZR3Nnus5CdSgJMGXA8ZVk7YLm9axdQDTpvdM0uoOueV/+PuP12ipK7bPQKBvpVacr4NQS0sUKj4qL3K9m5QQey7Q9tSwwGV85MfaEtIrhi0c+yWTrdMG56e92GT97VZdluPL4/c9rv6bmmuGfUC3A5iIBJ2rE4+/sYZPUwstQ/bGzau4/30oeOuFQmX8SIqgvuhw/WG/YT2pO8pgcXpTOqrcoosSKAhAuPZhHs/SYD+4E77l5Sg/iUDBrwZbXd2Il5pJk0Qx3psqX26SJTYKTA9ug5PBqANT/Oh8RBDOg3ekUp6HSlWSKhn7MTN8K3PfyCiWizZn60cNgqOtLjMciLNP4uRLqYk9V5mTLW6pEU9yRbSL14+RnEAXNLcXgGwaxTjGPTjZhoYV5E2pOlc+tAbJ3WBf43vkk3Gn6EJRTP4HZvmTMJiFWxVkynLrFsK8NXJxZoWKTfs5FVsqEbG8IXE+nVBbOULC0bC7G+z2oZdM6qbABQcoKwDDZ7Hkw/aCq1PFOGyffqREEAF31dN966aK+gSWfyo/a8hjNKmfFo2HhX84+twaMkUYW0bJTX6SaHLNkTwr7V9HThgncnrAf+fi/BiaurR2Ycz0TF0IV+u+VcQ13xx2e2XzQTRdeqA/NzhUgYGI8a1o2nIWG90vyi4kP9bhqsC0m1XEjoGNFiuP9XLu5Y3o4CkI7nbd9pl/DG3RRCpBPJyJqLGM0MdTzN/9n2jaXoTX1W0eq95eNpYp2hFwk+3rHMh0QmpnWkDVZ07V/NRZHP1CVu+I6Oc5D7olKvLmhUMEZQkyCMcEnDzRwsOXHX4oHkm9pcMMAD81Em4tWY ODdX3Mxl 2u8xjkGWIZicMfVvnofY6PB+bOfJTKLlwE4lV0Gq/Fw3m60GrEMktLpCbxLizf+R8Oq8m/leZAUPhv6qzjnnQJadCTiSceOD/1o0LWEKYWP9JEW9zGdwMFubrTdmS01VSLKpI0jEV1u7bOkKGzhMGgdY4rtdHF655VI9Ge78P4vEsYIjVeWRQdWk6Mvr8lSZ2amb8F1JtSlhZVTvS+8ryobC11Gd3GNtxbtLJ8YgM5Uev+IFSc9ifZp1IWwAXgRAKn3CuRNAGhAl67X1uPaVIYtd0ghD2b2pqTJDj5AZCBuqgzyIdl9mDm7A0a/lP6odkiN8FgdwAsTrrtzqw0yDiptlUcljnMovT5tbtYBxOMiLcvhNN6LtJ1UBOMpf10NRN6lRer6eDActgNV3V3jzLEa3jZ3G+r/sMCDbm X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi all, this series refactors and simplifies the code in the xfs xfile abstraction, which is a thing layer on a kernel-use shmem file. To do this is needs a slighly lower level exports from shmem.c, which I combined with improving an assert and documentation there. Now that this series has a fair amount of reviews we also need to think how we can merge it best. Should the shmem changes be merged through the xfs tree? Should there be a shared branch? The series is against Linux 6.8-rc2. Changes since v2: - include internal.h in workingset.h to avoid a buildbot warning - update the usage comment for shmem_get_folio - improve the xfile_load/store documentation - don't use highmem for xfiles for real - only call filemap_check_wb_err to check for errors on the mapping Changes since v1: - fix reading i_blocks - provide wrappers for reading i_size and i_blocks - update the xfile load/store documentation - improve a commit message - use shmem_kernel_file_setup - add a missing folio unlock in the hwpoison path in xfile_get_page - fix checking for shmem mappings - improve I/O error handling (Darrick) - convert to folios (partially from Darrick) Diffstat: Documentation/filesystems/xfs/xfs-online-fsck-design.rst | 25 - fs/xfs/scrub/rtsummary.c | 6 fs/xfs/scrub/trace.h | 81 ++- fs/xfs/scrub/xfarray.c | 234 ++++------ fs/xfs/scrub/xfarray.h | 11 fs/xfs/scrub/xfile.c | 345 +++++---------- fs/xfs/scrub/xfile.h | 62 -- include/linux/shmem_fs.h | 6 include/linux/swap.h | 10 mm/filemap.c | 9 mm/internal.h | 4 mm/shmem.c | 37 + mm/workingset.c | 1 13 files changed, 349 insertions(+), 482 deletions(-)