Top 10 C++ fuse-filesystem Projects
-
curve
Curve is a sandbox project hosted by the CNCF Foundation. It's cloud-native, high-performance, and easy to operate. Curve is an open-source distributed storage system for block and shared file storage. (by opencurve)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
ffmpegfs
FUSE-based transcoding filesystem with video support from many formats to FLAC, MP4, TS, WebM, OGG, MP3, HLS, and others.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
cicpoffs
Case-Insensitive Case-Preserving Overlay FUSE File System - play games with broken mods on linux that rely on Windows's case insensitivity
The author needs to ask themselves: in this cloud technology stack, is there POSIX involved somewhere lower down, where I can't access it? The answer is, of course, "yes". The sort of cloud storage systems described all run on top of POSIX APIs. They provide convenience (cost efficiency is more debatable) compared to the POSIX alternative, but that's because they exist at an entirely different conceptual layer (hence the presence of POSIX anyway, just buried).
Your point about surfacing a POSIX that's actually there but hidden and thus visible to low-level Amazon employees building the S3 service which makes it invisible to S3 end customers is true but isn't the the point of the article. The author is saying there are motivations for a POSIX-like api visible also the end user.
So your explanation of stack looks like 2 layers: POSIX api <-- AWS S3 built on top of that
Author's essay is actually talking about 3 layers: POSIX <-- AWS S3 <-- POSIX
That's why the blog post has the following links to POSIX-on-top-of-S3-objects :
https://github.com/s3fs-fuse/s3fs-fuse
https://github.com/kahing/goofys
https://www.cuno.io/
I know that cryfs[1] is resilient to at least the first of these, and possibly the second as well. I don't know if cryfs allows to modify the base directory while the filesystem is online, if it does then it might already be a better solution for syncthing, if you only care about Linux.
On the flip side syncthing could incorporate cryfs's base directory format instead of their home-grown one.
[1] https://www.cryfs.org/
Project mention: DwarFS – The Deduplicating Warp-Speed Advanced Read-Only File System | news.ycombinator.com | 2024-04-11https://github.com/mhx/dwarfs/blob/main/doc/mkdwarfs.md#nils...
there's a project from Google called mount-zip where you can mount zips (and it actually works really well even with 1TB zips)
C++ fuse-filesystem related posts
Index
What are some of the best open-source fuse-filesystem projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | s3fs-fuse | 8,065 |
2 | curve | 2,222 |
3 | cryfs | 1,933 |
4 | dwarfs | 1,860 |
5 | securefs | 696 |
6 | ffmpegfs | 195 |
7 | fuse-archive | 127 |
8 | mount-zip | 117 |
9 | inspexel | 20 |
10 | cicpoffs | 16 |
Sponsored