The Linux Btrfs file system is built with fault tolerance in mind. When a user modifies a file and saves it to disk, a Btrfs partition disk will take a copy of the file before saving it. It’s a form of “shadow copying” where files are not actually overwritten on disk but instead are copied to preserve their original data every time the user saves them. Using Btrfs, administrators can offer fault tolerance and failover should a copy of a saved file get corrupted.
Fault tolerance and copies of saved files are the two best advantages of Btrfs. Btrfs also offers data compression to reduce the storage space required for saved files and subvolumes for administrators who want to create a volume for the operating system and a volume for user data. The latter provides better security in malware attacks if the attacker can only access the user volume.
No native support for encryption and storage limitations compared to ZFS are the two disadvantages of Btrfs. Third-party vendors provide encryption for Btrfs, so administrators have a workaround. The additional storage space is necessary for the shadow copies.