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 182C537FF7F; Mon, 23 Feb 2026 23:49:53 +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=1771890594; cv=none; b=FvFH7Lb/fUia2+7ZReZJmH9sRozUYf5dmgbxF4SqfxBBku49CzwM97zdW4/MwUW5rYRT3LG1MW9ppaefPQHEtPY4oXy+JKSke3IjonLnS0aldvggWLjb2hdlG3LioKSVUwrRUsiuADc3yllc6yVwJ3Zw59/iuElHax6wjRYuSK8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771890594; c=relaxed/simple; bh=6oBPg90qRJmR05SVdf2hKZj/+CiaMI8l9PPxvKRrrFE=; h=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tLhGCRB4LqECAP/L0D2j64CuEsP8kSvOYt4VB4yluanO2pyCeH0ZtWf09p4boGCzxxtLGWFLH8I3AuBU+AtqcHhnFHKWGmHe2CvyxtjTe/KzDwrr/4NKOuaA4bgAQ0rFIEhZp6rltqt5gisSqjIdchHOPSoyuVGVFRFaamoN0b8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tWhH4GH5; 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="tWhH4GH5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9159FC116C6; Mon, 23 Feb 2026 23:49:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771890593; bh=6oBPg90qRJmR05SVdf2hKZj/+CiaMI8l9PPxvKRrrFE=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=tWhH4GH5ZVbL5tJn0qzxwaUKOLKXB1M9YVBdYlP8rBLnYsPJKG2Sn4TJZF0ZKo5SU tyhYm/lFbTM3zTE0UHcoTsvtWusvVGmqkfvqw5Nh4L3HWz5w9Cakjm+WXp8+8H7ALU 1bRXGLuJW/7iDwanV6Ayt6H3DA6y7ihTJ/R18N6uovqKbzM69Ep+nd87MwVaVgOum0 njq+fAIfVa2XcaFwf+zArqVoEXng1rvW9hpOMgnbFhU1gZN7A8nBZ/nNr+61MWgu80 Z51LU2SEb3NflycfVo5aw5x5x8H5GjDGYL8vqA+zVB9TcXLGyPtCAu+72bgxJW4SnO EN0+CcIVubIqQ== Date: Mon, 23 Feb 2026 15:49:53 -0800 Subject: [PATCH 2/3] fuse4fs: wire up caching examples to fuse iomap bpf program 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, john@groves.net Message-ID: <177188746507.3945469.2523498079754039193.stgit@frogsfrogsfrogs> In-Reply-To: <177188746460.3945469.14760426500960341844.stgit@frogsfrogsfrogs> References: <177188746460.3945469.14760426500960341844.stgit@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 From: Darrick J. Wong Continue our demonstration of fuse iomap bpf by enabling the test program to update the iomap cache. Signed-off-by: "Darrick J. Wong" --- fuse4fs/fuse4fs.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fuse4fs/fuse4fs.c b/fuse4fs/fuse4fs.c index b5deed0ef767e9..b3c5d571d52448 100644 --- a/fuse4fs/fuse4fs.c +++ b/fuse4fs/fuse4fs.c @@ -7830,6 +7830,9 @@ FUSE_IOMAP_BEGIN_BPF_FUNC(bogus_iomap_begin_bpf)\n\ {\n\ const uint32_t dev = %u;\n\ const uint32_t blocksize = %u;\n\ +\n\ + bpf_printk(\"ino %%llu pos %%llu\\n\",\n\ + fi->nodeid, pos);\n\ \n\ /*\n\ * Create an alternating pattern of written and unwritten mappings\n\ @@ -7837,6 +7840,11 @@ FUSE_IOMAP_BEGIN_BPF_FUNC(bogus_iomap_begin_bpf)\n\ * run this in production!\n\ */\n\ if ((opflags & FUSE_IOMAP_OP_REPORT) && pos <= (16 * blocksize)) {\n\ + struct fuse_range fubar = {\n\ + .offset = 325 * blocksize,\n\ + .length = 37 * blocksize,\n\ + };\n\ +\n\ outarg->read.offset = pos;\n\ outarg->read.length = blocksize;\n\ outarg->read.type = ((pos / blocksize) %% 2) + FUSE_IOMAP_TYPE_MAPPED;\n\ @@ -7844,6 +7852,8 @@ FUSE_IOMAP_BEGIN_BPF_FUNC(bogus_iomap_begin_bpf)\n\ outarg->read.addr = (99 * blocksize) + pos;\n\ \n\ fuse_iomap_begin_pure_overwrite(outarg);\n\ + fuse_bpf_iomap_inval_mappings(fi, &fubar, NULL);\n\ + fuse_bpf_iomap_upsert_mappings(fi, &outarg->read, NULL);\n\ return FIB_HANDLED;\n\ }\n\ \n\