All Projects → ajeetdsouza → Pifs

ajeetdsouza / Pifs

Licence: gpl-3.0
The high performance data-free filesystem

Programming Languages

cpp
1120 projects

Labels

Projects that are alternatives of or similar to Pifs

Securefs
Filesystem in userspace (FUSE) with transparent authenticated encryption
Stars: ✭ 518 (+661.76%)
Mutual labels:  fuse
Fuse Copyfs
CopyFS is the copy-on-write (COW) versioned filesystem for FUSE. Years ago I added features to CopyFS 1.0, then 1.0.1 came out and I never bothered to forward-port my changes. Now I have. Master is 1.3.1M, which is CopyFS 1.0.1 + 1.3M
Stars: ✭ 24 (-64.71%)
Mutual labels:  fuse
Shaman.dokan.archive
Mounts 7z/zip/rar files on Windows
Stars: ✭ 41 (-39.71%)
Mutual labels:  fuse
S3fs Fuse
FUSE-based file system backed by Amazon S3
Stars: ✭ 5,733 (+8330.88%)
Mutual labels:  fuse
Osxfuse
FUSE extends macOS by adding support for user space file systems
Stars: ✭ 7,184 (+10464.71%)
Mutual labels:  fuse
Ponifuse
Ponifies files at load and de-ponifies them at write time (fuse module)
Stars: ✭ 11 (-83.82%)
Mutual labels:  fuse
Google Drive Ocamlfuse
FUSE filesystem over Google Drive
Stars: ✭ 4,447 (+6439.71%)
Mutual labels:  fuse
Hfsfuse
FUSE driver for HFS+ filesystems
Stars: ✭ 53 (-22.06%)
Mutual labels:  fuse
Fuse Ts
Stars: ✭ 6 (-91.18%)
Mutual labels:  fuse
Android File Transfer Linux
Android File Transfer for Linux
Stars: ✭ 994 (+1361.76%)
Mutual labels:  fuse
Dbxfs
User-space file system for Dropbox
Stars: ✭ 673 (+889.71%)
Mutual labels:  fuse
Distribyted
📂 ➡️ 📺 🎶 🎮 Torrent client with on-demand file downloading as a filesystem.
Stars: ✭ 791 (+1063.24%)
Mutual labels:  fuse
Pcapfs
A FUSE module to mount captured network data
Stars: ✭ 17 (-75%)
Mutual labels:  fuse
Exfat
Free exFAT file system implementation
Stars: ✭ 528 (+676.47%)
Mutual labels:  fuse
Moosefs
MooseFS – Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System (Software-Defined Storage)
Stars: ✭ 1,025 (+1407.35%)
Mutual labels:  fuse
Ifuse
A fuse filesystem to access the contents of iOS devices
Stars: ✭ 433 (+536.76%)
Mutual labels:  fuse
Fusell Seed
FUSE (the low-level interface) file system boilerplate 📂 🔌 💾
Stars: ✭ 9 (-86.76%)
Mutual labels:  fuse
Fuse.firebase
The start of fuse bindings for Firebase
Stars: ✭ 57 (-16.18%)
Mutual labels:  fuse
Kaitai fs
KaitaiFS: mount any filesystem specified with a .ksy as a real file system
Stars: ✭ 45 (-33.82%)
Mutual labels:  fuse
Dungeonfs
A FUSE filesystem and dungeon crawling adventure game engine
Stars: ✭ 979 (+1339.71%)
Mutual labels:  fuse

pifs2: the high performance data-free filesystem

Originally by philipl, πfs is a revolutionary new file system that, instead of wasting space storing your data on your hard drive, stores your data in π! You'll never run out of space again - π holds every file that could possibly exist! They said 100% compression was impossible? You're looking at it!

The original implementation has been sped up tremendously, by computing π at compile time using all-new C++ constexprs!

πfs is dead simple to build:

mkdir build
cmake ..
make

πfs is dead simple to use:

pifs -o mdd=<metadata directory> <mountpoint>

where the metadata directory is where πfs should store its metadata (such as filenames or the locations of your files in π) and mountpoint is your usual filesystem mountpoint.

What does π have to do with my data?

π (or pi) is one of the most important constants in mathematics and has a variety of interesting properties (which you can read about here).

One of the properties that π is conjectured to have is that it is normal, which is to say that its digits are all distributed evenly, with the implication that it is a disjunctive sequence, meaning that all possible finite sequences of digits will be present somewhere in it. If we consider π in base 16 (hexadecimal) , it is trivial to see that if this conjecture is true, then all possible finite files must exist within π. The first record of this observation dates back to 2001.

From here, it is a small leap to see that if π contains all possible files, why are we wasting exabytes of space storing those files, when we could just look them up in π!

Every file that could possibly exist?

That's right! Every file you've ever created, or anyone else has created or will create! Copyright infringement? It's just a few digits of π! They were always there!

But how do I look up my data in π?

As long as you know the index into π of your file and its length, its a simple task to extract the file using the Bailey–Borwein–Plouffe formula. Similarly, you can use the formula to initially find the index of your file.

Now, we all know that it can take a while to find a long sequence of digits in π, so for practical reasons, we should break the files up into smaller chunks that can be more readily found.

In this implementation, to maximise performance, we consider each individual byte of the file separately, and look it up in π.

So I've looked up my bytes in π, but how do I remember where they are?

Well, you've obviously got to write them down somewhere; you could use a piece of paper, but remember all that storage space we saved by moving our data into π? Why don't we store our file locations there!?! Even better, the location of our files in π is metadata and as we all know metadata is becoming more and more important in everything we do. Doesn't it feel great to have generated so much metadata? Why waste time with old fashioned data when you can just deal with metadata, and lots of it!

Yeah, but what happens if I lose my file locations?

No problem, the locations are just metadata! Your files are still there, sitting in π - they're never going away, are they?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].