Chapter 9. File Systems

XFS runtime statistics are available per file system in the /sys/fs/ directory

The existing XFS global statistics directory has been moved from the /proc/fs/xfs/ directory to the /sys/fs/xfs/ directory while maintaining compatibility with earlier versions with a symbolic link in /proc/fs/xfs/stat. New subdirectories will be created and maintained for statistics per file system in /sys/fs/xfs/, for example /sys/fs/xfs/sdb7/stats and /sys/fs/xfs/sdb8/stats. Previously, XFS runtime statistics were available only per server. Now, XFS runtime statistics are available per device. (BZ#1269281)

A progress indicator has been added to mkfs.gfs2

The mkfs.gfs2 tool now reports its progress when building journals and resource groups. As mkfs.gfs2 can take some time to complete with large or slow devices, it was not previously clear if mkfs.gfs2 was working correctly until a report was printed. A progress bar has been added to mkfs.gfs2 indicate progress. (BZ#1196321)

fsck.gfs2 has been enhanced to require considerably less memory on large file systems

Prior to this update, the Global File System 2 (GFS2) file system checker, fsck.gfs2, required a large amount of memory to run on large file systems, and running fsck.gfs2 on file systems larger than 100 TB was therefore impractical. With this update, fsck.gfs2 has been enhanced to run in considerably less memory, which allows for better scalability and makes running fsck.gf2 practical to run on much larger file systems. (BZ#1268045)

GFS2 has been enhanced to allow better scalability of its glocks

In the Global File System 2 (GFS2), opening or creating a large number of files, even if they are closed again, leaves a lot of GFS2 cluster locks (glocks) in slab memory. When the number of glocks was in the millions, GFS2 previously started to slow down, especially with file creates: GFS2 became gradually slower to create files. With this update, the GFS2 has been enhanced to allow better scalability of its glocks, and the GFS2 can now therefore maintain good performance across millions of file creates. (BZ#1172819)

xfsprogs rebased to version 4.5.0

The xfsprogs packages have been upgraded to upstream version 4.5.0, which provides a number of bug fixes and enhancements over the previous version. The Red Hat Enterprise Linux 7.3 kernel RPM requires the upgraded version of xfsprogs because the new default on-disk format requires special handling of log cycle numbers when running the xfs_repair utility. Notable changes include:
  • Metadata cyclic redundancy checks (CRCs) and directory entry file types are now enabled by default. To replicate the older mkfs on-disk format used in earlier versions of Red Hat Enterprise Linux 7, use the -m crc=0 -n ftype=0 options on the mkfs.xfs command line.
  • The GETNEXTQUOTA interface is now implemented in xfs_quota, which allows fast iteration over all on-disk quotas even when the number of entries in the user database is extremely large.
Also, note the following differences between upstream and Red Hat Enterprise Linux 7.3:
  • The experimental sparse inode feature is not available.
  • The free inode btree (finobt) feature is disabled by default to ensure compatibility with earlier Red Hat Enterprise Linux 7 kernel versions. (BZ#1309498)

The CIFS kernel module rebased to version 6.4

The Common Internet File System (CIFS) has been upgraded to upstream version 6.4, which provides a number of bug fixes and enhancements over the previous version. Notably:
  • Support for Kerberos authentication has been added.
  • Support for MFSymlink has been added.
  • The mknod and mkfifo named pipes are now allowed.
Also, several memory leaks have been identified and fixed. (BZ#1337587)

quota now supports suppressing warnings about NFS mount points with unavailable quota RPC service

If a user listed disk quotas with the quota tool, and the local system mounted a network file system with an NFS server that did not provide the quota RPC service, the quota tool returned the error while getting quota from server error message. Now, the quota tools can distinguish between unreachable NFS server and a reachable NFS server without the quota RPC service, and no error is reported in the second case. (BZ#1155584)

The /proc/ directory now uses the red-black tree implementation to improve the performance

Previously, the /proc/ directory entries implementation used a single linked list, which slowed down the manipulation of directories with a large number of entries. With this update, the single linked list implementation has been replaced by a red-black tree implementation, which improves the performance of directory entries manipulation. (BZ#1210350)