File Systems
The following file systems features and enhancements are introduced in UEK R7:
Btrfs
Note:
The default page size on the 64-bit Arm platform has changed to 4 KB, from the previous 64 KB default. If you are running Oracle Linux 8 on an Arm-based system with an earlier UEK release, this change impacts Btrfs file systems, for example, systems that are running the Raspberry Pi on an Oracle Linux 8 developer image. Prior to upgrading to UEK R7, you must migrate your data and prepare to reformat your file systems to prevent any data loss and ensure that the system does not become unbootable. See Default Page Size on Arm Platform Changed to 4 KB.
This release introduces several Btrfs performance and data recovery improvements, as well as some RAID 1 enhancements, support for Linux read-write semaphores, and checksum support. Other notable changes for Btrfs include the following:
-
New rescue mount option added
A new rescue mount option to group all existing mount options for recovery.
usebackuproot
is now an alias forrescue=usebackuproot
;nologreplay
is an alias forrescue=nologreplay
. -
Aynchronous SSD trimming available
Asynchronous SSD trimming is available in Btrfs. For performance and wear-leveling reasons, solid-state storage drives benefit from receiving notification when a disk block goes unused. This operation is referred to as discard or trim and is performed automatically by Btrfs. When a file is deleted, Btrfs notifies the drive that the blocks belonging to the file are no longer being used. Previously, these notifications occurred synchronously, meaning the trim notifications were sent before ending the delete operation, which can harm performance. These notifications are now sent asynchronously.
-
fsync() performance improvements
The following
fsync()
improvements are introduced:-
Improved
fsync()
performance (12% decrease on max latency reported bydbench
). -
Substantial speed-up of parallel
fsync
by reducing the number of checksum tree look-ups and contention. -
Substantial speed up of parallel
fsync
for files withreflinked
/deduped
extents. For jobs 16 to 1024, on average, throughput is improved by roughly 50%; runtime is decreased by about 30%.
-
-
Pre-fetch chunk tree leaves at mount support
Pre-fetch chunk tree leaves at mount, which improves mount speed in multi-TB file systems.
-
fs-verity and ID mapping support
Support for
fs-verity
and ID mapping, as well as the DAMON to improve capability for monitoring memory access patterns of specific processes, is included in this release. Thefs-verity
generic layer, which is already available in theext4
and F2FS file systems, provides transparent integrity and authenticity protection of read-only files. The feature also includes capability for ID-mapped mount points, which provides the ability to map the user and group IDs of one mount to another mount.
OCFS2
OCFS2 continues to be supported in UEK releases. For Oracle Linux 9, user space packages are updated to enable OCFS2 support on this release.
XFS
Note:
The default page size on the 64-bit Arm platform has changed to 4 KB, from the previous 64 KB default. As a result, if you are running Oracle Linux 8 on an Arm-based system with an earlier UEK release, and you previously manually changed an XFS file system to a block size that is greater than 4 KB, you must migrate your data and prepare to reformat file systems prior to upgrading to UEK R7. Systems with XFS file systems that are configured to use a 4 KB block size are unaffected. See Default Page Size on Arm Platform Changed to 4 KB.
The following notable XFS file system changes are introduced in UEK R7:
-
Enhancements for XFS 2038+ and DAX operations and DAX metadata reduction.
Capability for XFS 2038+, per-file and per-directory DAX operations, and DAX metadata reduction has been added in this release.
-
XFS file system includes new features
The XFS file system supports two new options:
bigtime
andinobtcount
. Thebigtime
option provides support for timestamps beyond the year 2038; theinobtcount
option reduces mount time on large file systems. By default, these options are disabled. To enable these options while creating an XFS file system, use the mkfs.xfs command as follows:sudo mkfs.xfs -m bigtime=1,inobtcount=1
Caution:
Enabling these mkfs.xfs options creates a file system that is unmountable by older kernels, where these options are not supported.