From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7690437E2F9; Mon, 23 Feb 2026 23:05:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771887933; cv=none; b=FpVY5igmrg984fh7zZRPgASHm1gJg5OcFDhAc6NCX1TnIGCfhvea1S/SjLP5JCPGwISy6np84ly0u7LPpU9BtAGoYV9he8D465yTsNNA4ZJkIOLNO69Zs7qKmjvuixKMzQ2Q6GGHQ154CuW5pNMiGqJ+gagLA3Lfe5YOVP5VtVU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771887933; c=relaxed/simple; bh=erLnXXKfazJyfXqyTBmDRoDs7EW0FYC/FDwshxrCEvw=; h=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=f2e1nvjCM5dLXHlL0rG7P5TG8rODBGrmQcq3Y25+RQvpwPyAZLaNGNeuyLUXZ0Mx3YfbmTKXNi4BkwO5lIq0IyedZMt8wsLe6OugBU9zam2HfK+7tzW7RsY6CM6pDEJxwOk+XGD5xbi2SzkAo2YDgOXDyKtgGLnQqyjZk3fmVaU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=htTuIbZl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="htTuIbZl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FAE8C2BC86; Mon, 23 Feb 2026 23:05:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771887933; bh=erLnXXKfazJyfXqyTBmDRoDs7EW0FYC/FDwshxrCEvw=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=htTuIbZl5jCRnLsS9kaUpXQejQuutrqFLijlFPoG4ZP6XE3rQYx7agK+GRoWMmbmL KlwUuGXHsdjYXM5svbRl2XlV87pPyvYQOy2/uRpnmXTSqumJti8rmVMUQaNZXUxr6/ bbgDTbxJoqBfM7bOxgA4SXstkzWohwQznk5cBykMm2YaPKVCDtenSyblZ4FCPfaH1x cF78DdcLwX/QFmRuP0bIuOfhCgosFeK6HezZ6ZpIVuzdIIfuIZ6YRkNV6YUall4OYj 1sy9u5jGaHgjTzrQes7T7CZGmInhHDEXDOrpDYgKk8EjQKtjgxeL+Ppeh9u+v3H1Eh aci6KoXaIjbQA== Date: Mon, 23 Feb 2026 15:05:32 -0800 Subject: [PATCHSET v7 5/8] fuse2fs: improve block and inode caching From: "Darrick J. Wong" To: tytso@mit.edu Cc: bpf@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, miklos@szeredi.hu, bernd@bsbernd.com, joannelkoong@gmail.com, neal@gompa.dev Message-ID: <177188745668.3944626.16408108516155796668.stgit@frogsfrogsfrogs> In-Reply-To: <20260223224617.GA2390314@frogsfrogsfrogs> References: <20260223224617.GA2390314@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-fsdevel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi all, This series ports the libext2fs inode cache to the new cache.c hashtable code that was added for fuse4fs unlinked file support and improves on the UNIX I/O manager's block cache by adding a new I/O manager that does its own caching. Now we no longer have statically sized buffer caching for the two fuse servers. If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. Comments and questions are, as always, welcome. e2fsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/e2fsprogs.git/log/?h=fuse2fs-caching --- Commits in this patchset: * libsupport: add caching IO manager * iocache: add the actual buffer cache * iocache: bump buffer mru priority every 50 accesses * fuse2fs: enable caching IO manager * fuse2fs: increase inode cache size * libext2fs: improve caching for inodes --- lib/ext2fs/ext2fsP.h | 13 + lib/support/cache.h | 1 lib/support/iocache.h | 17 + debugfs/Makefile.in | 8 e2fsck/Makefile.in | 12 - fuse4fs/Makefile.in | 11 - fuse4fs/fuse4fs.c | 8 lib/ext2fs/Makefile.in | 70 ++-- lib/ext2fs/inline_data.c | 4 lib/ext2fs/inode.c | 215 ++++++++++--- lib/ext2fs/io_manager.c | 3 lib/support/Makefile.in | 6 lib/support/cache.c | 16 + lib/support/iocache.c | 765 ++++++++++++++++++++++++++++++++++++++++++++++ misc/Makefile.in | 12 - misc/fuse2fs.c | 10 + resize/Makefile.in | 11 - tests/fuzz/Makefile.in | 4 tests/progs/Makefile.in | 4 19 files changed, 1068 insertions(+), 122 deletions(-) create mode 100644 lib/support/iocache.h create mode 100644 lib/support/iocache.c