NFS 4.1, caching, Btrfs and ReiserFS
Linux 2.6.30 supports NFS 4.1 (1, 2, documentation). After several years of development, the kernel developers have also merged the FS-Cache patches mainly programmed by Red Hat developer David Howells (kernel documentation). The patches allow developers to incorporate a file system cache to reduce data traffic with network file systems like AFS or NFS.
The developers of Btrfs have also been busy â for instance, optimising the code to improve write performance in general and for SSDs. Some additional changes planned for 2.6.31 may increase performance even further.
Although ReiserFS is still classified as "supported" in the kernel, it has not had an official maintainer for quite some time. However, Novell developer Jeff Mahoney has now introduced a number of patches that were developed as part of SLED/SLES, some of which are already more than two years old, into the main development branch. They fix inconsistencies and bugs in the ReiserFS file system, which is sometimes also called Reiser3.
Flexible arrays
The code for MD (Multiple Device) software RAIDs has been updated to allow the number of devices in a RAIDÂ 5 to be reduced. Developers can now reshape a RAID-5 array into a RAIDÂ 6 and back; in addition, the kernel can convert a RAIDÂ 1 into a RAIDÂ 5.
The MD code now also offers "data integrity support", which was first included in 2.6.27, as long as all the devices in an MD array and their respective controllers are also capable of it. Due to various changes, the same applies to the Device Mapper (DM), which now offers better barrier support than before (1, 2).
Details
This article can only provide an overview of the most important changes of Linux version 2.6.30. Find more detailed information in the various parts of the Kernel Log's "What's coming in 2.6.30" mini series released at The H Open in the past few weeks that form the basis of this article.
1. Network: New Wi-Fi drivers and other network novelties
2. File systems: New and revamped file systems
3. Storage: RAID improvements, optimised CFQ Scheduler, SAS drivers
4. Drivers: New drivers for audio, video, USB hardware, netbooks and notebooks
Compressed
The developers have removed the support of the "zImage" build target on x86 systems, which hasn't been used for a while, from Linux 2.6.30. New, on the other hand, is a kernel library for decompressing Gzip, Bzip, and LZMA. The kernel accesses it to unpack parts of the kernel image and the initramfs during start up. Gzip used to be the only compression option available, but a kernel image is said to be about 10Â per cent smaller when compressed with Bzip2, and even 33Â per cent smaller when compressed with LZMA.
The CFS process scheduler was adapted to simplify the code, speed up processing and optimise CFS for real-time environments. Also interesting, particularly for real-time environments, is the optional interrupt handling with separate threads, for which some basic provisions have been made (1, 2, 3). The code responsible for locking was also improved. A slightly different approach for achieving a lock is said to offer minor performance improvements â this was of particular interest to the Btrfs developers.