Linux file system in 2020: pros, cons, pitfalls

As you know, before you install any Linux operating system you need to format your hard drive and choose the most preferable file system. Here we have, in 2020, in the display goes EXT4, and it seems the best option possible, but let’s consider alternatives before blindly abandon them?


“Fourth Extended Filesystem”, which literally translates as “Fourth extended filesystem” fully backwards compatible with EXT2 and EXT3 and is considered the standard for most Linux distributions, remaining as popular as its predecessors.

Today it is one of the safest and most stable options because it supports logging, preventing (as possible) data loss after a system crash or power loss.

The two most powerful features of EXT4 are the so-called “extents” and “deferred distribution”, which intelligently manage the way data is written to the media, to improve performance and reduce fragmentation.


“b-tree file system” was originally developed by Oracle and continues to grow in popularity, so many consider it a true successor of the dynasty EXT.

Btrfs comes with advanced features such as automatic Defrag and transparent compression. It follows the principle of copy-on-write, preserving a new iteration of data and metadata, instead of influence existing (“shadowing”). It also allows you to capture various States of the file system, and is also easy to replicate, transfer and increment backups. Online and offline file system check even more reduce the chance of data loss.

It is worth noting that BtrFS is very SSD friendly, as it automatically disables functions that are useful for mechanical hard drives, but SSD can wear out.


XFS was created by Silicon Graphics nearly three decades ago for their graphics workstations, specializing in the rendering of 3D graphics.

This is why XFS is still one of the best options for systems that continuously read and write data. Through the use of “placement groups” – parts of the file system that contains its own inodes and free space – parallel read and write data from multiple threads simultaneously. Support for delayed allocation, dynamic inode allocated and improved algorithms for read-ahead helps to achieve superior performance, especially in large storage pools of size up to hundreds of terabytes.

However, her support for logging is limited, especially when compared with more modern alternatives, and, perhaps, it is more prone to data loss. Also scales poorly for more typical everyday and mostly single-threaded scripts, for example, deleting multiple photos from the folder “Images”. In other words, this is a story about setting up your own data center, not a regular household machine.


One of the (relatively) newer file systems, “Flash-Friendly File System”, as the name implies, is one of the best options to use storage based on flash memory.

Originally created for this purpose by Samsung F2FS splits the carrier into smaller parts, which in turn divide into even smaller parts, which in turn divides, well, you understand. And then she tries to use a lot of these areas instead of reusing the same. In combination with TRIM support / FITRIM it makes it more convenient for flash media with limited number of write operations.

It makes no sense to delve into the possibilities F2FS, because if we are talking about using conventional carriers, she is completely ordinary mediocrity, which was not in terms of speed nor in terms of security, and any other file system will offer you a set of functions better. Although, it is worth noting that the discussion takes a completely different turn when it comes to the flash storage, for which it was designed.


OpenZFS is the branch Zettabyte file system (ZFS), which originally appeared in Solaris from Sun. Until 2010, the ZFS can be used in Linux through FUSE because of licensing issues. After 2010 began the development of opensorce version, and by 2016, Ubuntu included it default support. Since then, when people refer to the “ZFS”, they usually mean exactly that branch, instead of Solaris ZFS – which also continues to evolve, but is on a parallel track.

ZFS differs from all the alternatives that combines the file system with the volume Manager. For this reason it not only manages files and directories, but also the physical media on which they are located. This ensures that each storage device can be assigned to a pool that is treated as a single resource. If you need more space, you can add new storage to the pool to expand it, letting ZFS take care of the details.

ZFS also follows the principle of copy-on-write, so-called copy-on-write where instead of changing existing data, it saves only the changes (Delta) between the old and new versions. It provides transparent, intelligent storing multiple copies of data without occupying much space, which can work as backup or snapshots. The user can revert to previous States of the file system to undo changes, or Vice versa: move all changes to clones of existing data.

These are some of the features that help to virtually eliminate any possibility of data loss – at least in theory.


Journaling file system from IBM was one of the first file systems that support journaling, which led to the reduction of the probability of data loss. It uses extents, just like many other modern alternatives, as well as a group of accommodation, such as XFS, with the goal of providing a high performance read / write.

Without giving preference to any one function, it is great for different tasks at different loads.

Unfortunately, this also means that it is not excellent in any. In addition, there are some problems that negatively affect the user rating when choosing a file system for your storage. For example, it can defer the update of their magazine for an indefinite time, increasing the probability of data loss and almost nullifying the fact that it is file system journaling. Better parallel records that are most useful for servers and large databases, but work worse than EXT4 in more popular usage scenarios of desktop computers.

This is probably the reason she is not as popular as other file systems that either work faster or better protect the data from loss.

What should you use?

There is a reason why EXT4 is the default choice for most Linux distributions. It is proven, tested, stable, works well and is widely supported. If you are looking for stability, EXT4 is the best filesystem in Linux for you.

If you are not afraid to deal with a few less Mature ecosystem, you should also consider BtrFS.

For use on the server where you want to completely eliminate any possibility of data loss, where stability is a middle name, you should try ZFS. However, to be able to use it to the fullest, you have to go into the reading head.

Flash media F2FS is the best option, it is not even discussed.

Whatever filesystem you choose, do not forget to completely erase your hard drive if you want to make their existing content is almost not recoverable.

Don’t forget to use the comments below to Express your valuable opinion about file systems and articles in General.


(Visited 76 times, 1 visits today)