Cromfs 1.2.0 review

by on

Cromfs is a compressed read-only filesystem for Linux

License: GPL (GNU General Public License)
File size: 148K
Developer: Joel Yliluoma
0 stars award from

Cromfs is a compressed read-only filesystem for Linux. Cromfs is intended for permanently archiving gigabytes of big files that have a lot of redundancy. It is more aimed at heavy compression than at a light fingerprint.

Filesystem is write-once, read-only. It is not possible to append to a previously-created filesystem, nor it is to mount it read-write.
Max filesize: 2^64 bytes (16777216 TB), but 256 TB with default settings.
Max number of files in a directory: 2^30 (smaller if filenames are longer, but still more than 100000 in almost all cases)
Max number of inodes (all files, dirs etc combined): 2^60, but depends on file sizes
Max filesystem size: 2^64 bytes (16777216 TB)
There are no "." and ".." entries in directories.
mkcromfs is slow. You must be patient.
The cromfs-driver has a large memory footprint. It is not suitable for very size-constrained systems.
Ownerships are not saved.
Maximum filename length: 4095 bytes

Here are some key features of "Cromfs":
Data, inodes, directories and block lists are stored compressed
Duplicate inodes, files and even duplicate file portions are detected and stored only once
Especially suitable for gigabyte-class archives of thousands of nearly-identical megabyte-class files.
Files are stored in solid blocks, meaning that parts of different files are compressed together for effective compression
Most of inode types recognized by Linux are supported (see comparisons).
The LZMA compression is used. In the general case, LZMA compresses better than gzip and bzip2.
As with usual filesystems, the files on a cromfs volume can be accessed in arbitrary order; the waits to open a specific file are small, despite the files being semisolidly archived.

GNU make and gcc-c++ are required to recompile the source code.
The openssl development library is required for MD5 calculation.
The filesystem works under the Fuse user-space filesystem framework. You need to install both the Fuse kernel module and the userspace programs before mounting Cromfs volumes.
You need version fuse version 2.6.0 or newer. (2.5.2 might work.)

What's New in This Release:
This release changes the filesystem format slightly so that the root directory and inode locators are also compressed.
A new program, cvcromfs, has been added to convert existing volumes to the new format or the other way around.
This is not necessarily needed, because old volumes can be mounted by the new version as well.

Cromfs 1.2.0 keywords