Microsoft's ReFS File-System: Competitor To Btrfs?

Posted by Michael Larabel on January 17, 2012

Microsoft has released extensive details on their next-generation ReFS file-system to be introduced with Windows Server 8. How though does the file-system compare to Btrfs and the Linux file-systems?

Unlike Microsoft's exFAT file-system that's designed just for flash memory cards and external storage mediums, ReFS is designed to be a real successor to Microsoft's aging NTFS file-system that's been widespread since the Windows 2000/XP days. ReFS is short for a Resilient File System and will be introduced as a production-ready file-system with Windows Server 8. The non-server Windows 8 won't have ReFS support, but per typical Microsoft fashion, will come to the consumer operating system variants at a later date.

While for now Linux users can really care less about a new Microsoft file-system for Windows, eventually we will come across these new ReFS file-system whether it be a formatted external HDD / storage device or attempting to recover a Windows partition. For those interested in file-systems, it's also interesting to see how this NTFS successor compares to the popular Linux file-system choices. It will also be a question when/how the Microsoft Resilient File System support comes to Linux.

Below are a few notes I have about the Resilient File System after reading the MSDN blog post Building the next generation file system for Windows: ReFS.

- Unlike NTFS, Microsoft ReFS does share some common traits with Btrfs. ReFS is copy-on-write, provides integrity checksums / ECC, extended attributes, and B-trees. The Sun/Oracle ZFS file-system also shares most of the same features. The storage engine of ReFS is using B+ trees exclusively compared to normal B-trees in Btrfs, with the difference of the plus variant being records stored at the leaf-level of the tree and keys being within the interior nodes.

- ReFS has similar volume/file/directory size limits to EXT4 and Btrfs.

- At least for Windows 8, Microsoft is not providing any upgrade path from NTFS to ReFS, but requires re-formatting the drive and copying any data. Within Windows 8, ReFS is also not supported as a boot partition or for use on removable media/drives.

- Below are the official "key features of ReFS" as said by Microsoft.
- Metadata integrity with checksums
- Integrity streams providing optional user data integrity
- Allocate on write transactional model for robust disk updates (also known as copy on write)
- Large volume, file and directory sizes
- Storage pooling and virtualization makes file system creation and management easy
- Data striping for performance (bandwidth can be managed) and redundancy for fault tolerance
- Disk scrubbing for protection against latent disk errors
- Resiliency to corruptions with "salvage" for maximum volume availability in all cases
- Shared storage pools across machines for additional failure tolerance and load balancing

- ReFS does not support data de-duplication, copy-on-write snapshots (a ZFS and Btrfs feature, but ReFS snapshots can be done when paired with the Microsoft Storage Spaces), file-level encryption (dropped from NTFS), or compression (Btrfs can now do Gzip, LZO, and Snappy).

- In what may partially help supporting ReFS in Linux and other platforms, Steven Sinofsky of Microsoft says, "data stored on ReFS is accessible through the same file access APIs on clients that are used on any operating system that can access today’s NTFS volumes." The upper-layer engine is nearly the same as what's found in NTFS, but it's the underlying on-disk storage engine and format that's changed with ReFS.

Plus there's a lot more information in the aforelinked MSDN blog post for those interested. Btrfs and ZFS should prove to be good competition against ReFS, at least in terms of features, but it will be interesting to see how the actual file-system performance compares.

It will likely be a while before ReFS file-system support comes to Linux. Presumably the Microsoft Resilient File System will come encumbered by patents and other licensing restrictions, so the file-system read/write support will likely come in user-space via FUSE. Just as they've done for NTFS and exFAT, it would not be surprising to see Tuxera work on commercial ReFS file-system support for Linux -- they're the ones claiming their NTFS implementation is the fastest file-system for Linux.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. Mir's GPLv3 License Is Now Raising Concerns
  2. NVIDIA Driver Soon Likely To Support EGL, Mir
  3. OpenMandriva Goes Into Alpha Form, Russian-Based
  4. NVIDIA Brings Their Linux Driver To ARM
  5. D Language Still Showing Promise, Advancements
  6. Planetary Annihilation Released For Linux Gamers
  7. Gentoo Starts Work On KDE-Wayland Support
  8. NVIDIA To License Its Kepler GPU Technology
  9. KDE's KWin Made Lots Of Progress In 4.11
  10. Ubuntu Announces Carrier Advisory Group
  11. Qt 5.1 Release Candidate 1 Has Arrived
Latest Forum Talk
  1. Mir's GPLv3 License Is Now Raising Concerns
  2. Gentoo Starts Work On KDE-Wayland Support
  3. D Language Still Showing Promise, Advancements
  4. Benchmarking The Intel P-State, CPUfreq Changes
  5. Intel GPU Driver Tries To Rip Out FBDEV Support
  6. Five Years Later, Intel Poulsbo Is Still A Linux...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite