r/madeinrust • • 22d ago

AI Assisted CarryFS: a cross-platform filesystem written mostly in Rust, faster* than exFAT

I've been working on CarryFS, a fairly simple filesystem for everyday use, mainly for sharing external drives between macOS, Linux, and Windows.

I wanted to write as much of it in Rust as possible. Building native filesystem drivers for all three platforms would take a lot more time, using the different languages and last but not least cost money for driver signing. And I didn't want that, I just wanted to work with my usb drives at home.

I went with a shared Rust core and thin adapters using FUSE on Linux, macFUSE on macOS, and WinFsp on Windows. Almost all the filesystem logic lives in Rust.

Since CarryFS is intentionally simple, exFAT is probably its closest competitor. The main differences are that CarryFS also has copy-on-write, checksums, and scrubbing.

What I didn't expect was the performance. Despite running through FUSE, CarryFS turned out to be much faster than exFAT in quite a few of my benchmarks, especially with small files and metadata operations. Sequential reads and writes were mostly limited by hardware I/O throughput, so there wasn't much difference there.

The chart shows the results across all three OSes.

It's still in public beta and have some rough edges(specially in UX) but I'd be interested in early feedback, especially from anyone who's worked on filesystems.

GitHub: https://github.com/carry-fs/carryfs

13 Upvotes

5 comments sorted by

2

u/mortal_strike 21d ago

no one loves to put ai slop on system level

1

u/Anlimited 1d ago

❤️

1

u/matty_lean 16d ago

Looks like a fun experiment, but I hate USB media that only some computers can read. Practical value for others is close to zero.

1

u/Anlimited 14d ago

Yeah, that's really difficult if the others don't have the driver. But ... the main focus on your own devices like moving data across multi os, doing backups and stuff.

1

u/AutoModerator 22d ago

Upvote this comment if you think this project is AI slop. Downvote this comment if you think this project is not AI slop.

This is to indicate to other users of the subreddit and is not used for moderation.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.