1.1 Notable Changes

  • The integrated OpenFabrics Alliance (OFED) 1.5.5 stack, which supports the following InfiniBand hardware on systems with an x86_64 architecture:

    • Mellanox ConnectX-2 InfiniBand Host Channel Adapters

    • Sun InfiniBand QDR Host Channel Adapter PCIe #375-3696

  • The following kernel-level features are implemented for the btrfs file system:

    • Allow metadata blocks to be larger than the page size (4 KB) and up to 64 KB in size.

    • A new ioctl call, BTRFS_IOC_DEVICES_READY, to read device-readiness status.

    • Defragmentation does not undo sharing of data blocks between snapshots. Previously, defragmentation could result in more disk space usage because shared data blocks were duplicated.

    • New ioctl calls, BTRFS_IOC_GET_LABEL and BTRFS_IOC_SET_LABEL, to get or set a file system label.

    • Speed improvements for fsync direct I/O, and concurrent, multithreaded reads.

    • Support for file-hole punching by calling fallocate() with the FALLOC_FL_PUNCH_HOLE flag. Use the FIEMAP ioctl to detect holes. The SEEK_HOLE and SEEK_DATA options to the lseek() system call are not supported.

  • The user-space btrfs-progs package (btrfs-progs-0.20-1.4) will be provided on the ol6_latest channel for installation by using yum update. Command-line access to the new features in this package is not supported on kernel versions prior to this update. If you install this update but not the updated user-space btrfs-progs package, programmatic access is possible for those features that present an ioctl or other programming interface.

    The updated btrfs-progs package supports the following features in addition to the kernel-level features:

    • The -l option to mkfs.btrfs specifies the leaf size of a file system. The default value of4k (4 KB) is recommended for most uses. A value of 16k or 32k (16 or 32 KB) can improve performance for some workloads by reducing metadata fragmentation. The maximum supported size is 64k (64 KB).

    • The btrfs filesystem label device newlabel command supports labeling or relabeling of an existing file system. The limitations are that the file system can only have one device and you must first unmount the file system. The btrfs filesystem show command displays a file system's label.

    • Devices can be replaced at run time by using the btrfs replace start command.

    • The btrfs filesystem balance command is able change btrfs RAID profiles dynamically.

    • Collection of device statistics (numbers of read and write failures, checksum errors, and corrupted blocks) by using the btrfs device stats command.

    • Defragmentation can be cancelled by pressing Ctrl-C or by killing the defragmentation process.