|
|
Log in / Subscribe / Register

incredibly nice

incredibly nice

Posted Nov 7, 2025 19:49 UTC (Fri) by marcH (subscriber, #57642)
In reply to: incredibly nice by muase
Parent article: Toward fast, containerized, user-space filesystems

> Which would be a useful argument, if Linux had an alternative that would fill that niche.

For a long time I struggled to understand the value of "new generation" filesystems like COW, built-in volume management, etc. Then I struggled to "sell" it to others. Eventually I found this excellent documentation:

https://illumos.org/books/zfs-admin/gbcik.html#gbcik
> This chapter discusses some significant differences between ZFS and traditional file systems. Understanding these key differences can help reduce confusion when using traditional tools to interact with ZFS

I'm guessing most of the new concepts explained there are very similar to the ones in other modern filesystems like btrfs, bcachefs, etc.

(Eventually I bookmarked that page because search engines struggled to find it for some unknown reason)

It would be fantastic if FUSE can in the future provide not just better security and crash isolation but also better "licence isolation", release cadence isolation, temper isolation, better support for Conway's law, etc. Modularity is not just good for security, very far from it.


to post comments

incredibly nice

Posted Nov 10, 2025 23:41 UTC (Mon) by koverstreet (✭ supporter ✭, #4296) [Link]

I think there's no reason why userspace filesystems can't be as fast as in kernel, but it's going to take a lot of work to get there.

The iomap approach is not useful for any filesystem that does integrity, replication, compression - any of the interesting things modern filesystems do.

We need zero copy to/from the pagecache, conceptually not unlike how IOMMUs are used - but done with temporary per-cpu mappings (thus your filesystem server threads are pinned to each core).

A key insight is that it's not syscalls or even context switches that are expensive these days (tagged TLBs have been around awhile), it's the IPI from a cross core context switch - this stuff can be made fast.

The hardest part will be direct IO - to make that fast you need userspace programs talking to the fileserver directly with L4 style IPC, which is a combination of ring buffers and directly context switching to the server, bypassing the scheduler - Linux never got switch_to().


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds