User`s guide
File Systems
6
• It is now possible to obtain correct value for the ERR registers.
• For more information about DTrace, refer to the Oracle Linux 6 Administrator's Solutions Guide and the
Oracle Linux 6 Dynamic Tracing Guide, which you can find in the Oracle Linux 6 documentation library at
http://docs.oracle.com/cd/E37670_01/index.html.
1.1.8 File Systems
btrfs
In UEK R3, btrfs is based on version 3.8, whereas btrfs in the latest update to UEK R2 is based on version
3.0 with some additional backported features, such as support for large metadata blocks and device
statistics.
The following notable features are implemented for the btrfs file system in UEK R3 in addition to those
features that are already provided in UEK R2:
• Support for changing the RAID profile without unmounting the file system. (3.3)
• The btrfs-restore data recovery tool attempts to extract files from a damaged file system and copy
them to a safe location. (3.4)
• fsck in btrfs can now repair extent-allocation trees. (3.4)
• Support in mkfs for metadata blocks of up to 64 KB (either 16 or 32 KB is recommended). (3.4)
• Performance improvements to page cache and CPU usage, and the copy-on-write mechanisms. (3.4)
• Improved auditing to handle unexpected conditions more effectively. When unexpected errors occur,
current transactions abort, errors are returned to user-space callers, and the file system enters read-only
mode. (3.4)
• The btrfs device stats command reports I/O failure statistics, including I/O errors, CRC errors,
and generation checks of metadata blocks for each drive. (3.5)
• Performance improvements to memory reclamation and synchronous I/O latency. (3.5)
• Subvolume-aware quota groups (qgroups) allow you to set different size limits for a volume and its
subvolumes. For more information, see https://btrfs.wiki.kernel.org/index.php/UseCases. (3.6)
• The send and receive subcommands of btrfs allow you to record the differences between two
subvolumes, which can either be snapshots of the same subvolume or parent and child subvolumes. For
an example of using the send/receive feature to implement an efficient incremental backup mechanism,
see https://btrfs.wiki.kernel.org/index.php/Incremental_Backup. (3.6)
• Cross-subvolume reflinks allow you to clone files across different subvolumes within a single mounted
btrfs file system. However, you cannot clone files between subvolumes that are mounted separately.
(3.6)
• The copy-on-write mechanism can be disabled for an empty file by using the chattr +C command
to add the NOCOW file attribute to the file, or by creating the file in a directory on which you have set
NOCOW. For some applications this feature can reduce fragmentation and improve performance. (3.7)
• File hole punching, which allows you to mark a portion of a file as unused, so freeing up the associated
storage. The FALLOC_FL_PUNCH_HOLE flag to the fallocate() system call removes the specified
data range from a file. The call does not change the size of the file even if you remove blocks from the
end of the file. A typical use case for hole punching is to deallocate unused storage previously allocated
to virtual machine images. (3.7)