From: "Darrick J. Wong" <djwong@kernel.org>
To: Joanne Koong <joannelkoong@gmail.com>
Cc: miklos@szeredi.hu, bernd@bsbernd.com, neal@gompa.dev,
linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCHSET v6 4/8] fuse: allow servers to use iomap for better file IO performance
Date: Thu, 29 Jan 2026 14:41:22 -0800 [thread overview]
Message-ID: <20260129224122.GB7686@frogsfrogsfrogs> (raw)
In-Reply-To: <20260129200254.GA7686@frogsfrogsfrogs>
On Thu, Jan 29, 2026 at 12:02:54PM -0800, Darrick J. Wong wrote:
> On Wed, Jan 28, 2026 at 05:12:54PM -0800, Joanne Koong wrote:
>
> <snip>
>
> > > > > > > Hrmm. Now that /is/ an interesting proposal. Does BPF have a data
> > > > > > > structure that supports interval mappings? I think the existing bpf map
> > > > > >
> > > > > > Not yet but I don't see why a b+ tree like data strucutre couldn't be added.
> > > > > > Maybe one workaround in the meantime that could work is using a sorted
> > > > > > array map and doing binary search on that, until interval mappings can
> > > > > > be natively supported?
> > > > >
> > > > > I guess, though I already had a C structure to borrow from xfs ;)
> > > > >
> > > > > > > only does key -> value. Also, is there an upper limit on the size of a
> > > > > > > map? You could have hundreds of millions of maps for a very fragmented
> > > > > > > regular file.
> > > > > >
> > > > > > If I'm remembering correctly, there's an upper limit on the number of
> > > > > > map entries, which is bounded by u32
> > > > >
> > > > > That's problematic, since files can have 64-bit logical block numbers.
> > > >
> > > > The key size supports 64-bits. The u32 bound would be the limit on the
> > > > number of extents for the file.
> > >
> > > Oh, ok. If one treats the incore map as a cache and evicts things when
> > > they get too old, then that would be fine. I misread that as an upper
> > > limit on the *range* of the map entry keys. :/
> >
> > I think for more complicated servers, the bpf prog handling for
> > iomap_begin() would essentially just serve as a cache where if it's
> > not found in the cache, then it sends off the FUSE_IOMAP_BEGIN request
> > to the server. For servers that don't need as much complicated logic
> > (eg famfs), the iomap_begin() logic would just be executed within the
> > bpf prog itself.
>
> Yes, I like the fuse_iomap_begin logic flow of:
>
> 1. Try to use a mapping in the iext tree
> 2. Call a BPF program to try to generate a mapping
> 3. Issue a fuse command to userspace
>
> wherein #2 and #3 can signal that #1 should be retried. (This is
> already provided by FUSE_IOMAP_TYPE_RETRY_CACHE, FWIW)
>
> That said, BPF doesn't expose an interval btree data structure. I think
> it would be better to add the iext mapping cache and make it so that bpf
> programs could call fuse_iomap_cache_{upsert,remove,lookup}. You could
> use the interval tree too, but the iext tree has the advantage of higher
> fanout factor.
>
> > > As it stands, I need to figure out a way to trim the iomap btree when
> > > memory gets tight. Right now it'll drop the cache whenever someone
> > > closes the file, but that won't help for long-life processes that open a
> > > heavily fragmented file and never close it.
> > >
> > > A coding-intensive way to do that would be to register a shrinker and
> > > deal with that, but ugh. A really stupid way would be to drop the whole
> > > cache once you get beyond (say) 64k of memory usage (~2000 mappings).
> >
> > This kind of seems like another point in favor of giving userspace
> > control of the caching layer. They could then implement whatever
> > eviction policies they want.
>
> Note that userspace already can control the cached iomappings --
> FUSE_NOTIFY_IOMAP_UPSERT pushes a mapping into the iext tree, and
> FUSE_NOTIFY_IOMAP_INVAL removes them. The fuse server can decide to
> evict whenever it pleases, though admittedly the iext tree doesn't track
> usage information of any kind, so how would the fuse server know?
>
> The static limit is merely the kernel's means to establish a hard limit
> on the memory consumption of the iext tree, since it can't trust
> userspace completely.
>
> > It also allows them to prepopulate the cache upfront (eg when
> > servicing a file open request, if the file is below a certain size or
> > if the server knows what'll be hot, it could put those extents into
> > the map from the get-go).
>
> Hrm. I haven't tried issuing FUSE_NOTIFY_IOMAP_UPSERT during an open
> call, but I suppose it's possible.
>
> > in my opinion, the fuse-iomap layer should try to be as simple/minimal
> > and as generic as possible. I haven't read through iomap_cache.c yet
> > but the header comment suggests it's adapted from the xfs extent tree
>
> Rudely copied, not adapted ;)
>
> I actually wonder if I should make a horrible macro to generate the
> fuse_iext_* structures and functions, and then xfs_iext_tree.c and
> fuse_iomap_cache.c can "share" that hairba^Wcode.
I tried templatizing this with cpp macros and very rapidly lost all
sanity. :(
--D
> > cache. As I understand it, different filesystem implementations have
> > different caching architectures that are better suited for their use
> > cases
>
> Err. The way this evolved is ... way too long to go into in this email.
> Here's a truncated version; I can tell you the full story next week.
>
> Most filesystems store their file mapping data on disk in whatever
> format the designers specified. When the pagecache asks them to read
> or write the cache, they attach buffer heads to the folio, fill out the
> buffer heads with the minimum mapping information needed to map the
> folios to disk addresses. bios are constructed for each folio based on
> what's in the bufferhead.
>
> This was fine for filesystems that map each block individually, such as
> FFS/ext2/ext3/fat...
>
> > (I'm guessing that's the case, otherwise there would just be one
> > general cache inside iomap all the filesystems would use?). It seems a
>
> ...but newer filesystems such as xfs/ext4/btrfs map a bunch of blocks at
> a time. Each of them invented their own private incore mapping
> structures to mirror the ondisk structure. xfs kept using the old
> bufferheads into the early 2010s, ext4 is still using them, and btrfs
> went its own way from the start.
>
> Eventually XFS grew its own internal extent-to-bio mapping code that
> flipped the model -- rather than get a pagecache folio, map the folio to
> blocks, and issue IOs based on the blocks, it would get the file
> mapping, grab folios for the whole mapping, and issue bios for the batch
> of folios. That's more efficient, but at this point we have a legacy
> codebase problem for everything else in fs/.
>
> In 2019, hch and I decided to export the extent-to-bio mapping code from
> xfs so that new filesystems could start with something cleaner than
> bufferheads. In the past 7 years, nobody's added a new filesystem with
> complex mapping requirements; they've only ported existing filesystems
> to it, without further refactoring of their incore data structures.
> That's why there's no generic iomap cache.
>
> > lot better to me to just let the userspace server define that
> > themselves. And selfishly from the fuse perspective, would be less
>
> Well if I turned the iext code into a template then fuse would only need
> enough glue code to declare a template class and use it. The glue part
> is only ... 230LOC.
>
> > code we would have to maintain. And I guess too if some servers don't
> > need caching (like famfs?), they could avoid that overhead.
>
> Hrm. Right now the struct fuse_iomap_cache is embedded in struct
> fuse_inode, but that could be turned into a dynamic allocation.
>
> > > > > > > At one point I suggested to the famfs maintainer that it might be
> > > > > > > easier/better to implement the interleaved mapping lookups as bpf
> > > > > > > programs instead of being stuck with a fixed format in the fuse
> > > > > > > userspace abi, but I don't know if he ever implemented that.
> > > > > >
> > > > > > This seems like a good use case for it too
> > > > > > >
> > > > > > > > Is this your
> > > > > > > > assessment of it as well or do you think the server-side logic for
> > > > > > > > iomap_begin()/iomap_end() is too complicated to make this realistic?
> > > > > > > > Asking because I'm curious whether this direction makes sense, not
> > > > > > > > because I think it would be a blocker for your series.
> > > > > > >
> > > > > > > For disk-based filesystems I think it would be difficult to model a bpf
> > > > > > > program to do mappings, since they can basically point anywhere and be
> > > > > > > of any size.
> > > > > >
> > > > > > Hmm I'm not familiar enough with disk-based filesystems to know what
> > > > > > the "point anywhere and be of any size" means. For the mapping stuff,
> > > > > > doesn't it just point to a block number? Or are you saying the problem
> > > > > > would be there's too many mappings since a mapping could be any size?
> > > > >
> > > > > The second -- mappings can be any size, and unprivileged userspace can
> > > > > control the mappings.
> > > >
> > > > If I'm understanding what you're saying here, this is the same
> > > > discussion as the one above about the u32 bound, correct?
> > >
> > > A different thing -- file data mappings are irregularly sized, can
> > > contain sparse holes, etc. Userspace controls the size and offset of
> > > each mapping record (thanks to magic things like fallocate) so it'd be
> > > very difficult to create a bpf program to generate mappings on the fly.
> >
> > Would the bpf prog have to generate mappings on the fly though? If the
> > userspace does things like fallocate, those operations would still go
> > through to the server as a regular request (eg FUSE_FALLOCATE) and on
> > the server side, it'd add that to the map dynamically from userspace.
>
> That depends on the fuse server design. For simple things like famfs
> where the layout is bog simple and there's no fancy features like
> delayed allocation or unwritten extents, then you could probably get
> away a BPF program to generate the entire mapping set. I suspect an
> object-store type filesystem (aka write a file once, close it, snapshot
> it, and never change it again) might be good at landing all the file
> data in relatively few extent mappings, and it could actually compile a
> custom bpf program for that file and push it to the kernel.
>
> > > Also you could have 2^33 mappings records for a file, so I think you
> > > can't even write a bpf program that large.
> >
> > I think this depends on what map structure gets used. If there is
> > native support added for b+ tree like data structures, I don't see why
> > it wouldn't be able to.
>
> <nod>
>
> > > > > > I was thinking the issue would be more that there might be other logic
> > > > > > inside ->iomap_begin()/->iomap_end() besides the mapping stuff that
> > > > > > would need to be done that would be too out-of-scope for bpf. But I
> > > > > > think I need to read through the fuse4fs stuff to understand more what
> > > > > > it's doing in those functions.
> > > >
> > > > Looking at fuse4fs logic cursorily, it seems doable? What I like about
> > > > offloading this to bpf too is it would also then allow John's famfs to
> > > > just go through your iomap plumbing as a use case of it instead of
> > > > being an entirely separate thing. Though maybe there's some other
> > > > reason for that that you guys have discussed prior. In any case, I'll
> > > > ask this on John's main famfs patchset. It kind of seems to me that
> > > > you guys are pretty much doing the exact same thing conceptually.
> > >
> > > Yes, though John's famfs has the nice property that memory controller
> > > interleaving is mathematically regular and likely makes for a compact
> > > bpf program.
> >
> > I tried out integrating the bpf hooks into fuse for iomap_begin() just
> > to see if it was realistic and it seems relatively straightforward so
> > far (though maybe the devil is in the details...). I used the
>
> Ok, now *that's* interesting! I guess I had better push the latest
> fuse-iomap code ... but I cannot share a link, because I cannot get
> through the @!#%%!!! kernel.org anubis bullcrap.
>
> So I generated a pull request and I *think* this munged URL will work
> https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/log/?h=fuse-service-container_2026-01-29
>
> Or I guess you could just git-pull this:
> https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/fuse-service-container_2026-01-29
>
> > drivers/hid/bpf/hid_bpf_struct_ops.c program as a model for how to set
> > up the fuse bpf struct ops on the kernel side. calling it from
> > file_iomap.c looks something like
> >
> > static int fuse_iomap_begin(...)
> > {
> > ...
> > struct fuse_bpf_ops *bpf_ops = fuse_get_bpf_ops();
> > ...
> > err = -EOPNOTSUPP;
> > if (bpf_ops && bpf_ops->iomap_begin)
> > err = bpf_ops->iomap_begin(inode, pos, len, flags, &outarg);
> > if (err)
> > err = fuse_simple_request(fm, &args);
> > ...
> > }
>
> I'm curious what the rest of the bpf integration code looks like.
>
> > and I was able to verify that iomap_begin() is able to return back
> > populated outarg fields from the bpf prog. If we were to actually
> > implement it i'm sure it'd be more complicated (eg we'd need to make
> > the fuse_bpf_ops registered per-connection, etc) but on the whole it
>
> What is a fuse_bpf_ops? I'm assuming that's the attachment point for a
> bpf program that the fuse server would compile? In which case, yes, I
> think that ought to be per-connection.
>
> So the bpf program can examine the struct inode, and the pos/len/opflags
> field; and from that information it has to write the appropriate fields
> in &outarg? That's new, I didn't think bpf was allowed to write to
> kernel memory. But it's been a few years since I last touched the bpf
> internals.
>
> Some bpf programs might just know how to fill out outarg on their own
> (e.g. famfs memory interleaving) but other bpf programs might perform a
> range query on some imaginary bpf-interval-tree wherein you can do a
> fast lookup based on (inumber, pos, len)?
>
> I guess that's an interesting question -- would each fuse connection
> have one big bpf-interval-tree? Or would you shard things by inode to
> reduce contention? And if you sharded like that, then would you need a
> fuse_bpf_ops per inode?
>
> (I'm imagining that the fuse_bpf_ops might be where you'd stash the root
> of the bpf data structure, but I know nothing of bpf internals ;))
>
> Rolling on: how easy is it for a userspace program to compile and upload
> bpf programs into the kernel? I've played around with bcc enough to
> write some fairly stupid latency tracing tools for XFS, but at the end
> of the day it still python scripts feeding a string full of maybe-C into
> whatever the BPF does under the hood.
>
> I /think/ it calls clang on the provided text, links that against the
> current kernel's header files, and pushes the compiled bpf binary into
> the kernel, right? So fuse4fs would have to learn how to do that; and
> now fuse4fs has a runtime dependency on libllvm.
>
> And while I'm on the topic of fuse-bpf uapi: It's ok for us to expose
> primitive-typed variables (pos/len/opflags) and existing fuse uapi
> directly to a bpf program, but I don't think we should expose struct
> inode/fuse_inode. Maybe just fuse_inode::nodeid? If we're careful not
> to allow #include'ing structured types in the fuse bpf code, then
> perhaps the bpf programs could be compiled at the same time as the fuse
> server.
>
> > seems doable. My worry is that if we land the iomap cache patchset now
> > then we can't remove it in the future without breaking backwards
> > compatibility for being a performance regression (though maybe we can
> > since the fuse-iomap stuff is experimental?), so imo it'd be great if
>
> I don't think it's a huge problem to remove functionality while the
> EXPERIMENTAL warnings are in place. We'd forever lose the command codes
> for FUSE_NOTIFY_IOMAP_UPSERT and FUSE_NOTIFY_IOMAP_INVAL, but we've only
> used 12 out of INT_MAX so that's not likely to be a concern.
>
> > we figured out what direction we want to go before landing the cache
> > stuff. And I think we need to have this conversation too on the main
> > famfs patchset (eg whether it should go through your general iomap
> > plumbing with bpf helpers vs. being a separate implementation) since
> > once that lands, it'd be irrevocable.
>
> I've of two minds on that -- John got here first, so I don't want to
> delay his patchset whilst I slowly work on this thing. OTOH from an
> architecture standpoint we probably ought to push for three ways for a
> fuse server to upload mappings:
>
> 1. Upserting mappings with arbitrary offset and size into a cache
> 2. Self contained bpf program that can generate any mapping
> 3. Sprawling bpf program that can read any other artifacts that another
> bpf program might have set up for it
>
> But yeah, let's involve John.
>
> --D
>
> >
> > Thanks,
> > Joanne
> > >
> > > --D
> > >
> > > > Thanks,
> > > > Joanne
> > > >
> > > > >
> > > > > <nod>
> > > > >
> > > > > --D
> > > > >
> > > > > >
> > > > > > Thanks,
> > > > > > Joanne
> > > > > >
> > > > > > >
> > > > > > > OTOH it would be enormously hilarious to me if one could load a file
> > > > > > > mapping predictive model into the kernel as a bpf program and use that
> > > > > > > as a first tier before checking the in-memory btree mapping cache from
> > > > > > > patchset 7. Quite a few years ago now there was a FAST paper
> > > > > > > establishing that even a stupid linear regression model could in theory
> > > > > > > beat a disk btree lookup.
> > > > > > >
> > > > > > > --D
> > > > > > >
> > > > > > > > Thanks,
> > > > > > > > Joanne
> > > > > > > >
> > > > > > > > >
> > > > > > > > > If you're going to start using this code, I strongly recommend pulling
> > > > > > > > > from my git trees, which are linked below.
> > > > > > > > >
> > > > > > > > > This has been running on the djcloud for months with no problems. Enjoy!
> > > > > > > > > Comments and questions are, as always, welcome.
> > > > > > > > >
> > > > > > > > > --D
> > > > > > > > >
> > > > > > > > > kernel git tree:
> > > > > > > > > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=fuse-iomap-fileio
> > > > > > > > > ---
> > > > > > > > > Commits in this patchset:
> > > > > > > > > * fuse: implement the basic iomap mechanisms
> > > > > > > > > * fuse_trace: implement the basic iomap mechanisms
> > > > > > > > > * fuse: make debugging configurable at runtime
> > > > > > > > > * fuse: adapt FUSE_DEV_IOC_BACKING_{OPEN,CLOSE} to add new iomap devices
> > > > > > > > > * fuse_trace: adapt FUSE_DEV_IOC_BACKING_{OPEN,CLOSE} to add new iomap devices
> > > > > > > > > * fuse: flush events and send FUSE_SYNCFS and FUSE_DESTROY on unmount
> > > > > > > > > * fuse: create a per-inode flag for toggling iomap
> > > > > > > > > * fuse_trace: create a per-inode flag for toggling iomap
> > > > > > > > > * fuse: isolate the other regular file IO paths from iomap
> > > > > > > > > * fuse: implement basic iomap reporting such as FIEMAP and SEEK_{DATA,HOLE}
> > > > > > > > > * fuse_trace: implement basic iomap reporting such as FIEMAP and SEEK_{DATA,HOLE}
> > > > > > > > > * fuse: implement direct IO with iomap
> > > > > > > > > * fuse_trace: implement direct IO with iomap
> > > > > > > > > * fuse: implement buffered IO with iomap
> > > > > > > > > * fuse_trace: implement buffered IO with iomap
> > > > > > > > > * fuse: implement large folios for iomap pagecache files
> > > > > > > > > * fuse: use an unrestricted backing device with iomap pagecache io
> > > > > > > > > * fuse: advertise support for iomap
> > > > > > > > > * fuse: query filesystem geometry when using iomap
> > > > > > > > > * fuse_trace: query filesystem geometry when using iomap
> > > > > > > > > * fuse: implement fadvise for iomap files
> > > > > > > > > * fuse: invalidate ranges of block devices being used for iomap
> > > > > > > > > * fuse_trace: invalidate ranges of block devices being used for iomap
> > > > > > > > > * fuse: implement inline data file IO via iomap
> > > > > > > > > * fuse_trace: implement inline data file IO via iomap
> > > > > > > > > * fuse: allow more statx fields
> > > > > > > > > * fuse: support atomic writes with iomap
> > > > > > > > > * fuse_trace: support atomic writes with iomap
> > > > > > > > > * fuse: disable direct reclaim for any fuse server that uses iomap
> > > > > > > > > * fuse: enable swapfile activation on iomap
> > > > > > > > > * fuse: implement freeze and shutdowns for iomap filesystems
> > > > > > > > > ---
> > > > > > > > > fs/fuse/fuse_i.h | 161 +++
> > > > > > > > > fs/fuse/fuse_trace.h | 939 +++++++++++++++++++
> > > > > > > > > fs/fuse/iomap_i.h | 52 +
> > > > > > > > > include/uapi/linux/fuse.h | 219 ++++
> > > > > > > > > fs/fuse/Kconfig | 48 +
> > > > > > > > > fs/fuse/Makefile | 1
> > > > > > > > > fs/fuse/backing.c | 12
> > > > > > > > > fs/fuse/dev.c | 30 +
> > > > > > > > > fs/fuse/dir.c | 120 ++
> > > > > > > > > fs/fuse/file.c | 133 ++-
> > > > > > > > > fs/fuse/file_iomap.c | 2230 +++++++++++++++++++++++++++++++++++++++++++++
> > > > > > > > > fs/fuse/inode.c | 162 +++
> > > > > > > > > fs/fuse/iomode.c | 2
> > > > > > > > > fs/fuse/trace.c | 2
> > > > > > > > > 14 files changed, 4056 insertions(+), 55 deletions(-)
> > > > > > > > > create mode 100644 fs/fuse/iomap_i.h
> > > > > > > > > create mode 100644 fs/fuse/file_iomap.c
> > > > > > > > >
> > > > > > > >
> > > >
> >
>
next prev parent reply other threads:[~2026-01-29 22:41 UTC|newest]
Thread overview: 333+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-29 0:27 [PATCHBOMB v6] fuse: containerize ext4 for safer operation Darrick J. Wong
2025-10-29 0:37 ` [PATCHSET v6 1/8] fuse: general bug fixes Darrick J. Wong
2025-10-29 0:43 ` [PATCH 1/5] fuse: flush pending fuse events before aborting the connection Darrick J. Wong
2025-11-03 17:20 ` Joanne Koong
2025-11-03 22:13 ` Darrick J. Wong
2025-11-04 19:22 ` Joanne Koong
2025-11-04 21:47 ` Bernd Schubert
2025-11-06 0:19 ` Darrick J. Wong
2025-11-06 0:17 ` Darrick J. Wong
2025-11-06 18:37 ` Joanne Koong
2025-11-07 4:26 ` Darrick J. Wong
2025-11-07 19:18 ` Joanne Koong
2025-11-08 0:43 ` Darrick J. Wong
2025-11-07 22:03 ` Bernd Schubert
2025-11-08 0:02 ` Darrick J. Wong
2025-11-10 17:56 ` Darrick J. Wong
2025-11-10 18:22 ` Bernd Schubert
2025-11-10 18:54 ` Darrick J. Wong
2025-11-10 22:09 ` Bernd Schubert
2025-11-11 0:33 ` Darrick J. Wong
2025-10-29 0:43 ` [PATCH 2/5] fuse: signal that a fuse inode should exhibit local fs behaviors Darrick J. Wong
2025-11-04 19:59 ` Joanne Koong
2025-10-29 0:43 ` [PATCH 3/5] fuse: implement file attributes mask for statx Darrick J. Wong
2025-11-03 18:30 ` Joanne Koong
2025-11-03 18:43 ` Joanne Koong
2025-11-03 19:28 ` Darrick J. Wong
2025-10-29 0:43 ` [PATCH 4/5] fuse: update file mode when updating acls Darrick J. Wong
2025-11-07 20:29 ` Joanne Koong
2025-11-08 0:17 ` Darrick J. Wong
2025-10-29 0:44 ` [PATCH 5/5] fuse: propagate default and file acls on creation Darrick J. Wong
2026-02-05 19:32 ` Chris Mason
2026-02-05 23:28 ` Darrick J. Wong
2025-10-29 0:38 ` [PATCHSET v6 2/8] iomap: cleanups ahead of adding fuse support Darrick J. Wong
2025-10-29 0:44 ` [PATCH 1/1] iomap: allow NULL swap info bdev when activating swapfile Darrick J. Wong
2025-10-29 8:40 ` Christoph Hellwig
2025-10-29 14:38 ` Darrick J. Wong
2025-10-30 6:00 ` Christoph Hellwig
2025-10-30 14:54 ` Darrick J. Wong
2025-10-30 15:03 ` Christoph Hellwig
2025-11-07 9:23 ` Jan Engelhardt
2025-11-07 18:05 ` Darrick J. Wong
2025-10-29 0:38 ` [PATCHSET v6 3/8] fuse: cleanups ahead of adding fuse support Darrick J. Wong
2025-10-29 0:44 ` [PATCH 1/2] fuse: move the passthrough-specific code back to passthrough.c Darrick J. Wong
2025-11-06 18:36 ` Amir Goldstein
2025-10-29 0:44 ` [PATCH 2/2] fuse_trace: " Darrick J. Wong
2025-11-07 20:55 ` Joanne Koong
2025-11-08 0:24 ` Darrick J. Wong
2025-11-10 17:50 ` Joanne Koong
2025-10-29 0:38 ` [PATCHSET v6 4/8] fuse: allow servers to use iomap for better file IO performance Darrick J. Wong
2025-10-29 0:45 ` [PATCH 01/31] fuse: implement the basic iomap mechanisms Darrick J. Wong
2026-01-21 19:34 ` Joanne Koong
2026-01-21 22:45 ` Darrick J. Wong
2026-01-22 0:06 ` Joanne Koong
2026-01-22 0:34 ` Darrick J. Wong
2026-02-05 19:22 ` Chris Mason
2026-02-05 23:31 ` Darrick J. Wong
2025-10-29 0:45 ` [PATCH 02/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:45 ` [PATCH 03/31] fuse: make debugging configurable at runtime Darrick J. Wong
2026-01-21 23:42 ` Joanne Koong
2026-01-22 0:02 ` Darrick J. Wong
2026-01-22 0:23 ` Joanne Koong
2026-01-22 0:40 ` Darrick J. Wong
2025-10-29 0:46 ` [PATCH 04/31] fuse: adapt FUSE_DEV_IOC_BACKING_{OPEN,CLOSE} to add new iomap devices Darrick J. Wong
2025-11-06 18:50 ` Amir Goldstein
2025-10-29 0:46 ` [PATCH 05/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:46 ` [PATCH 06/31] fuse: flush events and send FUSE_SYNCFS and FUSE_DESTROY on unmount Darrick J. Wong
2025-10-29 0:46 ` [PATCH 07/31] fuse: create a per-inode flag for toggling iomap Darrick J. Wong
2026-01-22 1:13 ` Joanne Koong
2026-01-22 22:22 ` Darrick J. Wong
2026-01-23 18:05 ` Joanne Koong
2026-01-24 16:54 ` Darrick J. Wong
2026-01-27 23:33 ` Darrick J. Wong
2025-10-29 0:47 ` [PATCH 08/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:47 ` [PATCH 09/31] fuse: isolate the other regular file IO paths from iomap Darrick J. Wong
2025-11-06 18:44 ` Amir Goldstein
2025-11-06 23:02 ` Darrick J. Wong
2025-11-06 23:35 ` Darrick J. Wong
2025-10-29 0:47 ` [PATCH 10/31] fuse: implement basic iomap reporting such as FIEMAP and SEEK_{DATA,HOLE} Darrick J. Wong
2026-01-22 2:07 ` Joanne Koong
2026-01-22 22:31 ` Darrick J. Wong
2025-10-29 0:47 ` [PATCH 11/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:48 ` [PATCH 12/31] fuse: implement direct IO with iomap Darrick J. Wong
2026-01-23 18:56 ` Joanne Koong
2026-01-26 23:46 ` Darrick J. Wong
2026-02-05 19:19 ` Chris Mason
2026-02-06 2:08 ` Darrick J. Wong
2026-02-06 2:52 ` Chris Mason
2026-02-06 5:08 ` Darrick J. Wong
2026-02-06 14:27 ` Chris Mason
2025-10-29 0:48 ` [PATCH 13/31] fuse_trace: " Darrick J. Wong
2026-02-05 19:16 ` Chris Mason
2026-02-06 2:12 ` Darrick J. Wong
2025-10-29 0:48 ` [PATCH 14/31] fuse: implement buffered " Darrick J. Wong
2026-02-05 19:12 ` Chris Mason
2026-02-06 2:14 ` Darrick J. Wong
2025-10-29 0:48 ` [PATCH 15/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:49 ` [PATCH 16/31] fuse: implement large folios for iomap pagecache files Darrick J. Wong
2026-01-23 21:50 ` Joanne Koong
2025-10-29 0:49 ` [PATCH 17/31] fuse: use an unrestricted backing device with iomap pagecache io Darrick J. Wong
2026-01-26 22:03 ` Joanne Koong
2026-01-26 23:55 ` Darrick J. Wong
2026-01-27 1:35 ` Joanne Koong
2026-01-27 2:09 ` Darrick J. Wong
2026-01-27 18:04 ` Joanne Koong
2026-01-27 23:37 ` Darrick J. Wong
2025-10-29 0:49 ` [PATCH 18/31] fuse: advertise support for iomap Darrick J. Wong
2025-10-29 0:49 ` [PATCH 19/31] fuse: query filesystem geometry when using iomap Darrick J. Wong
2026-02-05 19:07 ` Chris Mason
2026-02-06 2:17 ` Darrick J. Wong
2025-10-29 0:50 ` [PATCH 20/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:50 ` [PATCH 21/31] fuse: implement fadvise for iomap files Darrick J. Wong
2025-10-29 0:50 ` [PATCH 22/31] fuse: invalidate ranges of block devices being used for iomap Darrick J. Wong
2025-10-29 0:50 ` [PATCH 23/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:51 ` [PATCH 24/31] fuse: implement inline data file IO via iomap Darrick J. Wong
2026-02-05 19:01 ` Chris Mason
2026-02-06 2:27 ` Darrick J. Wong
2025-10-29 0:51 ` [PATCH 25/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:51 ` [PATCH 26/31] fuse: allow more statx fields Darrick J. Wong
2025-10-29 0:51 ` [PATCH 27/31] fuse: support atomic writes with iomap Darrick J. Wong
2025-10-29 0:52 ` [PATCH 28/31] fuse_trace: " Darrick J. Wong
2025-10-29 0:52 ` [PATCH 29/31] fuse: disable direct reclaim for any fuse server that uses iomap Darrick J. Wong
2026-02-05 18:57 ` Chris Mason
2026-02-06 4:25 ` Darrick J. Wong
2025-10-29 0:52 ` [PATCH 30/31] fuse: enable swapfile activation on iomap Darrick J. Wong
2025-10-29 0:53 ` [PATCH 31/31] fuse: implement freeze and shutdowns for iomap filesystems Darrick J. Wong
2025-11-19 9:19 ` [PATCHSET v6 4/8] fuse: allow servers to use iomap for better file IO performance Demi Marie Obenour
2025-11-19 9:41 ` Gao Xiang
2025-11-19 18:04 ` Darrick J. Wong
2025-11-19 21:00 ` Gao Xiang
2025-11-19 21:51 ` Gao Xiang
2025-11-20 1:13 ` Demi Marie Obenour
2025-11-20 1:10 ` Demi Marie Obenour
2025-11-20 1:49 ` Gao Xiang
2025-11-20 1:05 ` Demi Marie Obenour
2026-01-27 0:59 ` Joanne Koong
2026-01-27 2:22 ` Darrick J. Wong
2026-01-27 19:47 ` Joanne Koong
2026-01-27 23:21 ` Darrick J. Wong
2026-01-28 0:10 ` Joanne Koong
2026-01-28 0:34 ` Darrick J. Wong
2026-01-29 1:12 ` Joanne Koong
2026-01-29 20:02 ` Darrick J. Wong
2026-01-29 22:41 ` Darrick J. Wong [this message]
2026-01-29 22:50 ` Joanne Koong
2026-01-29 23:12 ` Darrick J. Wong
2025-10-29 0:38 ` [PATCHSET v6 5/8] fuse: allow servers to specify root node id Darrick J. Wong
2025-10-29 0:53 ` [PATCH 1/3] fuse: make the root nodeid dynamic Darrick J. Wong
2025-10-29 0:53 ` [PATCH 2/3] fuse_trace: " Darrick J. Wong
2025-10-29 0:53 ` [PATCH 3/3] fuse: allow setting of root nodeid Darrick J. Wong
2025-10-29 0:39 ` [PATCHSET v6 6/8] fuse: handle timestamps and ACLs correctly when iomap is enabled Darrick J. Wong
2025-10-29 0:54 ` [PATCH 1/9] fuse: enable caching of timestamps Darrick J. Wong
2025-10-29 0:54 ` [PATCH 2/9] fuse: force a ctime update after a fileattr_set call when in iomap mode Darrick J. Wong
2025-10-29 0:54 ` [PATCH 3/9] fuse: allow local filesystems to set some VFS iflags Darrick J. Wong
2025-10-29 0:54 ` [PATCH 4/9] fuse_trace: " Darrick J. Wong
2025-10-29 0:55 ` [PATCH 5/9] fuse: cache atime when in iomap mode Darrick J. Wong
2025-10-29 0:55 ` [PATCH 6/9] fuse: let the kernel handle KILL_SUID/KILL_SGID for iomap filesystems Darrick J. Wong
2025-10-29 0:55 ` [PATCH 7/9] fuse_trace: " Darrick J. Wong
2025-10-29 0:55 ` [PATCH 8/9] fuse: update ctime when updating acls on an iomap inode Darrick J. Wong
2025-10-29 0:56 ` [PATCH 9/9] fuse: always cache ACLs when using iomap Darrick J. Wong
2025-10-29 0:39 ` [PATCHSET v6 7/8] fuse: cache iomap mappings for even better file IO performance Darrick J. Wong
2025-10-29 0:56 ` [PATCH 01/10] fuse: cache iomaps Darrick J. Wong
2025-10-29 0:56 ` [PATCH 02/10] fuse_trace: " Darrick J. Wong
2025-10-29 0:56 ` [PATCH 03/10] fuse: use the iomap cache for iomap_begin Darrick J. Wong
2026-02-05 18:52 ` Chris Mason
2026-02-06 4:28 ` Darrick J. Wong
2025-10-29 0:57 ` [PATCH 04/10] fuse_trace: " Darrick J. Wong
2025-10-29 0:57 ` [PATCH 05/10] fuse: invalidate iomap cache after file updates Darrick J. Wong
2026-02-05 18:44 ` Chris Mason
2026-02-06 4:38 ` Darrick J. Wong
2025-10-29 0:57 ` [PATCH 06/10] fuse_trace: " Darrick J. Wong
2025-10-29 0:58 ` [PATCH 07/10] fuse: enable iomap cache management Darrick J. Wong
2026-02-05 18:33 ` Chris Mason
2026-02-06 4:42 ` Darrick J. Wong
2025-10-29 0:58 ` [PATCH 08/10] fuse_trace: " Darrick J. Wong
2025-10-29 0:58 ` [PATCH 09/10] fuse: overlay iomap inode info in struct fuse_inode Darrick J. Wong
2025-10-29 0:58 ` [PATCH 10/10] fuse: enable iomap Darrick J. Wong
2025-10-29 0:39 ` [PATCHSET v6 8/8] fuse: run fuse servers as a contained service Darrick J. Wong
2025-10-29 0:59 ` [PATCH 1/2] fuse: allow privileged mount helpers to pre-approve iomap usage Darrick J. Wong
2025-10-29 0:59 ` [PATCH 2/2] fuse: set iomap backing device block size Darrick J. Wong
2025-10-29 0:40 ` [PATCHSET v6 1/5] libfuse: allow servers to use iomap for better file IO performance Darrick J. Wong
2025-10-29 0:59 ` [PATCH 01/22] libfuse: bump kernel and library ABI versions Darrick J. Wong
2025-10-29 0:59 ` [PATCH 02/22] libfuse: add kernel gates for FUSE_IOMAP Darrick J. Wong
2025-10-29 1:00 ` [PATCH 03/22] libfuse: add fuse commands for iomap_begin and end Darrick J. Wong
2025-10-29 1:00 ` [PATCH 04/22] libfuse: add upper level iomap commands Darrick J. Wong
2025-10-29 1:00 ` [PATCH 05/22] libfuse: add a lowlevel notification to add a new device to iomap Darrick J. Wong
2025-10-29 1:00 ` [PATCH 06/22] libfuse: add upper-level iomap add device function Darrick J. Wong
2025-10-29 1:01 ` [PATCH 07/22] libfuse: add iomap ioend low level handler Darrick J. Wong
2025-10-29 1:01 ` [PATCH 08/22] libfuse: add upper level iomap ioend commands Darrick J. Wong
2025-10-29 1:01 ` [PATCH 09/22] libfuse: add a reply function to send FUSE_ATTR_* to the kernel Darrick J. Wong
2025-10-29 1:01 ` [PATCH 10/22] libfuse: connect high level fuse library to fuse_reply_attr_iflags Darrick J. Wong
2025-10-29 1:02 ` [PATCH 11/22] libfuse: support direct I/O through iomap Darrick J. Wong
2025-10-29 1:02 ` [PATCH 12/22] libfuse: don't allow hardlinking of iomap files in the upper level fuse library Darrick J. Wong
2025-10-29 1:02 ` [PATCH 13/22] libfuse: allow discovery of the kernel's iomap capabilities Darrick J. Wong
2025-10-29 1:02 ` [PATCH 14/22] libfuse: add lower level iomap_config implementation Darrick J. Wong
2025-10-29 1:03 ` [PATCH 15/22] libfuse: add upper " Darrick J. Wong
2025-10-29 1:03 ` [PATCH 16/22] libfuse: add low level code to invalidate iomap block device ranges Darrick J. Wong
2025-10-29 1:03 ` [PATCH 17/22] libfuse: add upper-level API to invalidate parts of an iomap block device Darrick J. Wong
2025-10-29 1:03 ` [PATCH 18/22] libfuse: add atomic write support Darrick J. Wong
2025-10-29 1:04 ` [PATCH 19/22] libfuse: create a helper to transform an open regular file into an open loopdev Darrick J. Wong
2025-10-29 1:04 ` [PATCH 20/22] libfuse: add swapfile support for iomap files Darrick J. Wong
2025-10-29 1:04 ` [PATCH 21/22] libfuse: add lower-level filesystem freeze, thaw, and shutdown requests Darrick J. Wong
2025-10-29 1:05 ` [PATCH 22/22] libfuse: add upper-level filesystem freeze, thaw, and shutdown events Darrick J. Wong
2025-10-29 0:40 ` [PATCHSET v6 2/5] libfuse: allow servers to specify root node id Darrick J. Wong
2025-10-29 1:05 ` [PATCH 1/1] libfuse: allow root_nodeid mount option Darrick J. Wong
2025-10-29 0:40 ` [PATCHSET v6 3/5] libfuse: implement syncfs Darrick J. Wong
2025-10-29 1:05 ` [PATCH 1/4] libfuse: add strictatime/lazytime mount options Darrick J. Wong
2025-10-29 1:05 ` [PATCH 2/4] libfuse: set sync, immutable, and append when loading files Darrick J. Wong
2025-10-29 1:06 ` [PATCH 3/4] libfuse: wire up FUSE_SYNCFS to the low level library Darrick J. Wong
2025-10-29 1:06 ` [PATCH 4/4] libfuse: add syncfs support to the upper library Darrick J. Wong
2025-10-29 0:40 ` [PATCHSET v6 4/5] libfuse: cache iomap mappings for even better file IO performance Darrick J. Wong
2025-10-29 1:06 ` [PATCH 1/3] libfuse: enable iomap cache management for lowlevel fuse Darrick J. Wong
2025-10-29 1:06 ` [PATCH 2/3] libfuse: add upper-level iomap cache management Darrick J. Wong
2025-10-29 1:07 ` [PATCH 3/3] libfuse: enable iomap Darrick J. Wong
2025-10-29 0:41 ` [PATCHSET v6 5/5] libfuse: run fuse servers as a contained service Darrick J. Wong
2025-10-29 1:07 ` [PATCH 1/5] libfuse: add systemd/inetd socket service mounting helper Darrick J. Wong
2025-10-29 1:07 ` [PATCH 2/5] libfuse: integrate fuse services into mount.fuse3 Darrick J. Wong
2025-10-29 1:07 ` [PATCH 3/5] libfuse: delegate iomap privilege from mount.service to fuse services Darrick J. Wong
2025-10-29 1:08 ` [PATCH 4/5] libfuse: enable setting iomap block device block size Darrick J. Wong
2025-10-29 1:08 ` [PATCH 5/5] fuservicemount: create loop devices for regular files Darrick J. Wong
2025-10-29 0:41 ` [PATCHSET v6 1/6] fuse2fs: use fuse iomap data paths for better file I/O performance Darrick J. Wong
2025-10-29 1:08 ` [PATCH 01/17] fuse2fs: implement bare minimum iomap for file mapping reporting Darrick J. Wong
2025-10-29 1:08 ` [PATCH 02/17] fuse2fs: add iomap= mount option Darrick J. Wong
2025-10-29 1:09 ` [PATCH 03/17] fuse2fs: implement iomap configuration Darrick J. Wong
2025-10-29 1:09 ` [PATCH 04/17] fuse2fs: register block devices for use with iomap Darrick J. Wong
2025-10-29 1:09 ` [PATCH 05/17] fuse2fs: implement directio file reads Darrick J. Wong
2025-10-29 1:09 ` [PATCH 06/17] fuse2fs: add extent dump function for debugging Darrick J. Wong
2025-10-29 1:10 ` [PATCH 07/17] fuse2fs: implement direct write support Darrick J. Wong
2025-10-29 1:10 ` [PATCH 08/17] fuse2fs: turn on iomap for pagecache IO Darrick J. Wong
2025-10-29 1:10 ` [PATCH 09/17] fuse2fs: don't zero bytes in punch hole Darrick J. Wong
2025-10-29 1:11 ` [PATCH 10/17] fuse2fs: don't do file data block IO when iomap is enabled Darrick J. Wong
2025-10-29 1:11 ` [PATCH 11/17] fuse2fs: try to create loop device when ext4 device is a regular file Darrick J. Wong
2025-10-29 1:11 ` [PATCH 12/17] fuse2fs: enable file IO to inline data files Darrick J. Wong
2025-10-29 1:11 ` [PATCH 13/17] fuse2fs: set iomap-related inode flags Darrick J. Wong
2025-10-29 1:12 ` [PATCH 14/17] fuse2fs: configure block device block size Darrick J. Wong
2025-10-29 1:12 ` [PATCH 15/17] fuse4fs: separate invalidation Darrick J. Wong
2025-10-29 1:12 ` [PATCH 16/17] fuse2fs: implement statx Darrick J. Wong
2025-10-29 1:12 ` [PATCH 17/17] fuse2fs: enable atomic writes Darrick J. Wong
2025-10-29 0:41 ` [PATCHSET v6 2/6] fuse4fs: specify the root node id Darrick J. Wong
2025-10-29 1:13 ` [PATCH 1/2] fuse2fs: implement freeze and shutdown requests Darrick J. Wong
2025-10-29 1:13 ` [PATCH 2/2] fuse4fs: don't use inode number translation when possible Darrick J. Wong
2025-10-29 0:41 ` [PATCHSET v6 3/6] fuse2fs: handle timestamps and ACLs correctly when iomap is enabled Darrick J. Wong
2025-10-29 1:13 ` [PATCH 01/11] fuse2fs: add strictatime/lazytime mount options Darrick J. Wong
2025-10-29 1:13 ` [PATCH 02/11] fuse2fs: skip permission checking on utimens when iomap is enabled Darrick J. Wong
2025-10-29 1:14 ` [PATCH 03/11] fuse2fs: let the kernel tell us about acl/mode updates Darrick J. Wong
2025-10-29 1:14 ` [PATCH 04/11] fuse2fs: better debugging for file mode updates Darrick J. Wong
2025-10-29 1:14 ` [PATCH 05/11] fuse2fs: debug timestamp updates Darrick J. Wong
2025-10-29 1:14 ` [PATCH 06/11] fuse2fs: use coarse timestamps for iomap mode Darrick J. Wong
2025-10-29 1:15 ` [PATCH 07/11] fuse2fs: add tracing for retrieving timestamps Darrick J. Wong
2025-10-29 1:15 ` [PATCH 08/11] fuse2fs: enable syncfs Darrick J. Wong
2025-10-29 1:15 ` [PATCH 09/11] fuse2fs: skip the gdt write in op_destroy if syncfs is working Darrick J. Wong
2025-10-29 1:15 ` [PATCH 10/11] fuse2fs: set sync, immutable, and append at file load time Darrick J. Wong
2025-10-29 1:16 ` [PATCH 11/11] fuse4fs: increase attribute timeout in iomap mode Darrick J. Wong
2025-10-29 0:42 ` [PATCHSET v6 4/6] fuse2fs: cache iomap mappings for even better file IO performance Darrick J. Wong
2025-10-29 1:16 ` [PATCH 1/3] fuse2fs: enable caching of iomaps Darrick J. Wong
2025-10-29 1:16 ` [PATCH 2/3] fuse2fs: be smarter about caching iomaps Darrick J. Wong
2025-10-29 1:17 ` [PATCH 3/3] fuse2fs: enable iomap Darrick J. Wong
2025-10-29 0:42 ` [PATCHSET v6 5/6] fuse2fs: improve block and inode caching Darrick J. Wong
2025-10-29 1:17 ` [PATCH 1/6] libsupport: add caching IO manager Darrick J. Wong
2025-10-29 1:17 ` [PATCH 2/6] iocache: add the actual buffer cache Darrick J. Wong
2025-10-29 1:17 ` [PATCH 3/6] iocache: bump buffer mru priority every 50 accesses Darrick J. Wong
2025-10-29 1:18 ` [PATCH 4/6] fuse2fs: enable caching IO manager Darrick J. Wong
2025-10-29 1:18 ` [PATCH 5/6] fuse2fs: increase inode cache size Darrick J. Wong
2025-10-29 1:18 ` [PATCH 6/6] libext2fs: improve caching for inodes Darrick J. Wong
2025-10-29 0:42 ` [PATCHSET v6 6/6] fuse4fs: run servers as a contained service Darrick J. Wong
2025-10-29 1:18 ` [PATCH 1/7] libext2fs: fix MMP code to work with unixfd IO manager Darrick J. Wong
2025-10-29 1:19 ` [PATCH 2/7] fuse4fs: enable safe service mode Darrick J. Wong
2025-10-29 1:19 ` [PATCH 3/7] fuse4fs: set proc title when in fuse " Darrick J. Wong
2025-10-29 1:19 ` [PATCH 4/7] fuse4fs: set iomap backing device blocksize Darrick J. Wong
2025-10-29 1:19 ` [PATCH 5/7] fuse4fs: ask for loop devices when opening via fuservicemount Darrick J. Wong
2025-10-29 1:20 ` [PATCH 6/7] fuse4fs: make MMP work correctly in safe service mode Darrick J. Wong
2025-10-29 1:20 ` [PATCH 7/7] debian: update packaging for fuse4fs service Darrick J. Wong
2025-10-29 0:42 ` [PATCHSET v6] fstests: support ext4 fuse testing Darrick J. Wong
2025-10-29 1:20 ` [PATCH 01/33] misc: adapt tests to handle the fuse ext[234] drivers Darrick J. Wong
2025-10-30 9:51 ` Amir Goldstein
2025-11-05 22:53 ` Darrick J. Wong
2025-11-06 8:58 ` Amir Goldstein
2025-11-06 23:12 ` Darrick J. Wong
2025-11-07 7:50 ` Amir Goldstein
2025-11-07 7:08 ` Zorro Lang
2025-10-29 1:20 ` [PATCH 02/33] generic/740: don't run this test for fuse ext* implementations Darrick J. Wong
2025-10-30 9:59 ` Amir Goldstein
2025-11-05 22:56 ` Darrick J. Wong
2025-11-06 9:02 ` Amir Goldstein
2025-10-29 1:21 ` [PATCH 03/33] ext/052: use popdir.pl for much faster directory creation Darrick J. Wong
2025-10-29 1:21 ` [PATCH 04/33] common/rc: skip test if swapon doesn't work Darrick J. Wong
2025-11-12 6:35 ` Baokun Li
2025-11-12 18:26 ` Darrick J. Wong
2025-11-12 20:05 ` Theodore Ts'o
2025-11-12 22:29 ` [PATCH v6.1 " Darrick J. Wong
2025-11-13 1:51 ` Baokun Li
2025-11-13 15:52 ` Theodore Ts'o
2025-10-29 1:21 ` [PATCH 05/33] common/rc: streamline _scratch_remount Darrick J. Wong
2025-10-29 1:21 ` [PATCH 06/33] ext/039: require metadata journalling Darrick J. Wong
2025-10-29 1:22 ` [PATCH 07/33] populate: don't check for htree directories on fuse.ext4 Darrick J. Wong
2025-10-29 1:22 ` [PATCH 08/33] misc: convert _scratch_mount -o remount to _scratch_remount Darrick J. Wong
2025-10-29 1:22 ` [PATCH 09/33] misc: use explicitly $FSTYP'd mount calls Darrick J. Wong
2025-10-29 1:23 ` [PATCH 10/33] common/ext4: explicitly format with $FSTYP Darrick J. Wong
2025-10-29 1:23 ` [PATCH 11/33] tests/ext*: refactor open-coded _scratch_mkfs_sized calls Darrick J. Wong
2025-10-29 1:23 ` [PATCH 12/33] generic/732: disable for fuse.ext4 Darrick J. Wong
2025-10-29 1:23 ` [PATCH 13/33] defrag: fix ext4 defrag ioctl test Darrick J. Wong
2025-10-29 1:24 ` [PATCH 14/33] misc: explicitly require online resize support Darrick J. Wong
2025-10-29 1:24 ` [PATCH 15/33] ext4/004: disable for fuse2fs Darrick J. Wong
2025-10-29 1:24 ` [PATCH 16/33] generic/679: " Darrick J. Wong
2025-10-29 1:24 ` [PATCH 17/33] ext4/045: don't run the long dirent test on fuse2fs Darrick J. Wong
2025-10-29 1:25 ` [PATCH 18/33] generic/338: skip test if we can't mount with strictatime Darrick J. Wong
2025-10-29 1:25 ` [PATCH 19/33] generic/563: fuse doesn't support cgroup-aware writeback accounting Darrick J. Wong
2025-10-29 1:25 ` [PATCH 20/33] misc: use a larger buffer size for pwrites Darrick J. Wong
2025-10-29 1:25 ` [PATCH 21/33] ext4/046: don't run this test if dioread_nolock not supported Darrick J. Wong
2025-10-29 1:26 ` [PATCH 22/33] generic/631: don't run test if we can't mount overlayfs Darrick J. Wong
2025-10-30 11:35 ` Amir Goldstein
2025-11-05 23:12 ` Darrick J. Wong
2025-11-06 9:23 ` Amir Goldstein
2025-11-06 16:02 ` Darrick J. Wong
2025-10-29 1:26 ` [PATCH 23/33] generic/{409,410,411,589}: check for stacking mount support Darrick J. Wong
2025-10-30 10:25 ` Amir Goldstein
2025-11-05 22:58 ` Darrick J. Wong
2025-10-29 1:26 ` [PATCH 24/33] generic: add _require_hardlinks to tests that require hardlinks Darrick J. Wong
2025-10-29 1:26 ` [PATCH 25/33] ext4/001: check for fiemap support Darrick J. Wong
2025-10-29 1:27 ` [PATCH 26/33] generic/622: check that strictatime/lazytime actually work Darrick J. Wong
2025-10-29 1:27 ` [PATCH 27/33] generic/050: skip test because fuse2fs doesn't have stable output Darrick J. Wong
2025-10-30 10:05 ` Amir Goldstein
2025-11-05 23:02 ` Darrick J. Wong
2025-10-29 1:27 ` [PATCH 28/33] generic/405: don't stall on mkfs asking for input Darrick J. Wong
2025-10-29 1:27 ` [PATCH 29/33] ext4/006: fix this test Darrick J. Wong
2025-10-29 1:28 ` [PATCH 30/33] ext4/009: fix ENOSPC errors Darrick J. Wong
2025-10-29 1:28 ` [PATCH 31/33] ext4/022: enabl Darrick J. Wong
2025-10-29 6:03 ` Darrick J. Wong
2025-10-29 1:28 ` [PATCH 32/33] generic/730: adapt test for fuse filesystems Darrick J. Wong
2025-10-29 1:29 ` [PATCH 33/33] fuse2fs: hack around weird corruption problems Darrick J. Wong
2025-10-29 9:35 ` [PATCHSET v6] fstests: support ext4 fuse testing Christoph Hellwig
2025-10-29 23:52 ` Darrick J. Wong
2025-10-30 16:35 ` [PATCHBOMB v6] fuse: containerize ext4 for safer operation Joanne Koong
2025-10-31 17:56 ` Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260129224122.GB7686@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=bernd@bsbernd.com \
--cc=joannelkoong@gmail.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=neal@gompa.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox