The third new Linux kernel of 2012 is now out, providing users of the open source operating system with new filesystem, driver and performance updates.
Linux 3.4 follows the Linux 3.3 release by two months and is now officially "stable" after Linux creator Linus Torvalds pushed out seven release candidates.
"I think the 3.4 release cycle as a whole has been fairly calm," Torvalds wrote in his release announcement. "Sure, I always wish for the -rc's to calm down more quickly than they ever seem to do, but I think on the whole we didn't have any big disruptive events, which is just how I like it."
In terms of features, enhancements to the Btrfs filesystem top the list. The Btrfs effort was initiated by Oracle engineer Chris Mason as a means to provide a more robust filesystem for Linux than the default Ext4 system. Btrfs first debuted in March 2009 as part of the Linux 2.6.29 kernel and has been steadily evolving ever since.
Linux 3.4 adds a new btfs-restore utility for Btrfs, which can help to recover data from a filesystem that is not mountable. Performance in Btrfs has also been improved with support for metadata blocks of up to 64KB in size, up from the previous 4KB.
A critical part of Btrfs is the use of something known as extents, which define the part of the disk being used for storing a given piece of information. In Linux 3.4, Btrfs has improved the way it handles extents.
"Previously we could exit writepages with only having written half of an extent buffer, which meant we had to track the state of the pages and the state of the extent buffers differently," Kernel developer Josef Bacik wrote in his kernel commit message."Now we only read in entire extent buffers and write out entire extent buffers. This allows us to simply set bits in our bflags to indicate the state of the extent buffer, and we no longer have to do things like track uptodate with our iotree."
Among the other new features in Linux 3.4 is a set of improvements to B.A.T.M.A.N. BATMAN, or Better Approach To Mobile Adhoc Networking, first landed in the 2.6.38 Linux kernel back in March of 2011. In the 3.4 kernel, B.A.T.M.A.N has been improved to now have the ability to alter the routing algorithm used to create the ad hoc mesh network.
KVM virtualization also gets a big boost in Linux 3.4. New kernel features contributed by Red Hat expand the maximum number of virtual CPUs (vCPUs) that can be supported in Linux, from 64 all the way to 160.