File System Improvements
The following file systems improvements have been made:
- btrfs Updates
-
-
A patch was applied to include the name and ID of a subvolume or snapshot in
/proc/mounts
. This change makes it easier to identify whether/
is mounted as a subvolume or as a snapshot, where theroot
partition is formatted usingbtrfs
. -
Several patches were applied to fix issues surrounding deduping of inodes and to resolve an issue where
ctime
andmtime
timestamps were updated during a dedupe operation . Another issue with unaligned block sizes, or when deduping past EOFs that could result in an error while deduping, was also resolved. -
Several patches were applied to bring
btrfs
in line with userspace tools that support options requiring a new free spacebtree
mount feature in the kernel. -
Several patches were applied to support an enhanced structure that carries the device ID as a user argument when deleting a device by ID. This change brings
btrfs
in line with userspace tools that support this feature.
-
- NFS Updates
-
-
New static NFS trace points have been added in this update to provide more efficiency in debugging. These trace points are in addition to those that already exist in the Linux kernel NFS client.
The following six trace points are provided specifically for capturing NFS I/O operations
nfs:nfs_initiate_read
,nfs:nfs_readpage_done
,nfs:nfs_initiate_write
,nfs:nfs_writeback_done
,nfs:nfs_initiate_commit
, andnfs:nfs_commit_done
.You have the option of enabling the trace points individually or simultaneously. Each generated event includes timestamp information, as well as information about the CPU core and process that requested the operation.
You use the trace-cmd tool to control NFS trace points, in the same way that you control other static trace points in the kernel. Use the trace-cmd list | grep nfs command to discover trace points that are related to the kernel NFS client.
-
An issue that caused the NFS4v1 client to discard its lease and apply for a new lease during transparent state migration has been fixed. This issue significantly reduced any benefit of transparent state migration. A second issue for transparent state migration was also identified when a client lost its sequence ID for a lease that was migrated. A fix was applied to cause the client to save and use the contrived slot sequence value that is returned by the destination server.
-
Security fixes were backported to be included in this release, including a check for oversized NFSv2 and NFSv3 arguments that could lead to Denial of Service (DoS); and a set of patches to resolve an issue that caused an NFSv4 server to be vulnerable to a remote DoS attack due to improper validation of layout type while processing the pNFS LAYOUTGET operand.
-
- OCFS2 Updates
-
-
Several patches were backported to fix an issue that caused recursive cluster locking resulting in deadlocks that could hang nodes in the cluster.
-
A patch was included to fix a deadlock issue that could result during inode creation using POSIX ACLs. The code did not account for cluster-wide inode locks, which could cause a deadlock if there is a blocked remote lock request waiting for the lock to be downconverted.
-
- XFS Updates
-
-
Several patches were applied to fix numerous bugs pertaining to XFS error handling and behavior. Other changes include enhancements that provide improved configurable error support for XFS.
You can tweak XFS error handling through the
sysfs
interface, as shown in this example:# ls -l /sys/fs/xfs/dm-1/error/metadata/ total 0 drwxr-xr-x. 2 root root 0 Oct 24 16:54 default drwxr-xr-x. 2 root root 0 Oct 24 16:54 EIO drwxr-xr-x. 2 root root 0 Oct 24 16:54 ENODEV drwxr-xr-x. 2 root root 0 Oct 24 16:54 ENOSPC # ls -l /sys/fs/xfs/dm-1/error/metadata/default/ total 0 -rw-r--r--. 1 root root 4096 Oct 24 16:54 max_retries -rw-r--r--. 1 root root 4096 Oct 24 16:54 retry_timeout_seconds # ls -l /sys/fs/xfs/dm-1/error/metadata/ENOSPC/ total 0 -rw-r--r--. 1 root root 4096 Oct 24 16:54 max_retries -rw-r--r--. 1 root root 4096 Oct 24 16:54 retry_timeout_seconds
-
Patches were applied to resolve general bugs and provide some performance enhancements. Fixes included: a backported patch to fix a deadlock issue that resulted when work queue log processes hung while waiting for each others to complete; a couple of patches to resolve an issue around read-only remounts that resulted in the file system reporting failed orphan inode recovery on remount; and a patch to resolve a race condition that could cause file corruption during a file-extending direct I/O write.
-