Future Tech

Biggest Linux kernel release ever welcomes bcachefs file system, jettisons Itanium

Tan KW
Publish date: Thu, 11 Jan 2024, 08:44 AM
Tan KW
0 460,729
Future Tech

The latest stable Linux kernel, 6.7, is out and finally includes the new next-gen copy-on-write (COW) bcachefs file system.

Linus Torvalds announced the release on Sunday, noting that it is "one of the largest kernel releases we've ever had." Among the bigger and more visible changes are a whole new file system, along with fresh functionality for several existing ones; improved graphics support for several vendors' hardware; and the removal of an entire CPU architecture.

This is a short-term kernel release so probably will not feature in several distros whose release cycles aren't synchronized with that of the kernel, such as interim releases of Ubuntu. The kernel's release schedule is not set in stone - indeed, 6.7 itself was about a week later than usual, to avoid a release over the new year - but it will probably go end of life in March, when 6.8 appears. As we noted when 6.6.6 came and went last month, since early December, kernel 6.6, released in late October, is the latest long-term support release.

We rather suspect that the few remaining sites running Itanium systems are not running rolling-release Linux distros on them, and so will neither know nor care that 6.7 drops all support for the ill-fated IA64 architecture. That name is why The Reg FOSS desk still favors "x86-64" over "x64" - and on that much more common CPU architecture, kernel 6.7 now offers the ability to enable or disable x86-32 support at boot time, as we described last year.

Even though Intel's 14th generation chips only started shipping in October, more people are probably running those than are still aboard Itanic, and 6.7 adds full support for their integral GPUs.

More still use Nvidia cards, some of which must be initialized by special GSP firmware. Although Nvidia's binary drivers do this on their own, as of kernel 6.7, the FOSS nouveau driver can now load this special firmware. The new release also has better handling for DisplayPort monitors connected over USB-C, and improves the handling of some keyboards and other input devices, including from Dell, Lenovo, and Asus.

It's not all about x86, though. The in-kernel hypervisor KVM now supports the Chinese LoongArch RISC chips, and on RISC-V, it now supports the new smstateen [PDF] extensions for enhanced security, along with improvements for Arm hardware, especially the Ampere server chips.

Support for Rust language modules in the kernel now includes revision 1.73 of the language. Other Rusty refinements include support for Intel IBTs, the ability to manage workqueues, and better Android support.

The single biggest feature of 6.7 is the new bcachefs file system, which we examined in March 2022. As this is the first release of Linux to include the new file system, it definitely would be premature to trust any important data to it yet, but this is a welcome change. The executive summary is that bcachefs is a next-generation file system that, like Btrfs and ZFS, provides COW functionality. COW enables the almost instant creation of "snapshots" of all or part of a drive or volume, which enables the OS to make disk operations transactional: In other words, to provide an "undo" function for complex sets of disk write operations.

Having a COW file system on Linux isn't new. The existing next-gen file system in the kernel, Btrfs, also supports COW snapshots. The version in 6.7 sees several refinements. It inherits a feature implemented for Steam OS: Two Btrfs file systems with the same ID can be mounted simultaneously, for failover scenarios. It also has improved quota support and a new raid_stripe_tree that improves handling of arrays of dissimilar drives.

Btrfs remains somewhat controversial. Red Hat banished it from RHEL years ago (although Oracle Linux still offers it) but SUSE's distros depend heavily upon it. It will be interesting to see how quickly SUSE's Snapper tool gains support for bcachefs: This new COW contender may reveal unquestioned assumptions built into the code. Since Snapper is also used in several non-SUSE distros, including Spiral Linux, Garuda, and siduction, they're tied to Btrfs as well.

The other widely used FOSS next-gen file system, OpenZFS, also supports COW, but licensing conflicts prevent ZFS being fully integrated into the Linux kernel. So although multiple distros (such as NixOS, Proxmox, TrueNAS Scale, Ubuntu, and Void Linux) support ZFS, it must remain separate and distinct. This results in limitations, such as the ZFS Advanced Read Cache being separate from Linux's page cache.

Bcachefs is all-GPL and doesn't suffer from such limitations. It aims to supply the important features of ZFS, such as integrated volume management, while being as fast as ext4 or XFS, and also surpass Btrfs in both performance and, crucially, reliability.

More competition is good. Having a second COW-capable file system available that's not encumbered with licensing restrictions will open up the competitive landscape - not just on Btrfs, but also on Red Hat's Stratis, for example. It will also affect tools that replicate similar functionality, such as Flatpak and OStree - and distros such as Endless OS and Fedora's various immutable variants, which are built around them.

There's a big annotated list of the changes in this release on KernelNewbies, although it does note that the list isn't complete yet. In terms of the number of changes, this is the biggest kernel release ever, and some of the changes will have ramifications for years to come. There may be lurking dragons, or at least bugs. Exercise caution, and expect some of the new stuff to take some time - and point releases - to settle in. ®

 

https://www.theregister.com//2024/01/10/linux_kernel_67/

Discussions
Be the first to like this. Showing 0 of 0 comments

Post a Comment