The many lives of AdvFS
Especially to the degree that AdvFS wins some points with a major partner, Oracle, it's a nice way to leverage some IP that would otherwise mostly go to waste.
The AdvFS file system has had a bittersweet history. When introduced by Digital Equipment Corporation in the mid-1990s for DEC's Unix flavor (which would eventually become Tru64 UNIX), AdvFS was one of the most capable--if not the most capable--Unix file systems in existence.
As a 1999 Illuminata research note by my colleague Jonathan Eunice said: "Tru64 UNIX has the features one expects of a top-drawer enterprise Unix: multiprocessing, multithreading, disk volume management, a journaling file system, multi-path I/O, extensive TCP/IP networking, and conformance with a range of de jure and de facto standards. Its AdvFS filesystem, 64-bit and large memory support, and Memory Channel cluster interconnect provide a tour de force in high-scale system design." (See also this 1996 Unix scorecard.)
However, Tru64--along with the Alpha processor on which it ran--was one of the casualties when HP purchased Compaq (which had earlier absorbed DEC). AdvFS itself seemingly got a reprieve when HP decided to port it to HP-UX along with its associated, and equally well-regarded, TruCluster clustering environment. However, in 2004, HP killed the delayed project and went with the third-party Veritas Storage Foundation instead.
Today, AdvFS gets yet another life as HP makes the source code for AdvFS available to the Open Source community. Specifically, according to the press release, "HP will contribute the code as a reference implementation of an enterprise Linux file system under the terms of General Public License Version 2 for compatibility with the Linux kernel, as well as provide design documentation, test suites and engineering resources."
That's a fair bit of history I know. However, I thought at least a little context was necessary before diving under the covers.
What's being contributed? As HP says, the source code for AdvFS and related resources. This includes both the original "mature" version for Tru64 and the version for the worked-on port to HP-UX, which included some improvements and updates. HP describes the latter as a "feature complete port." However, I take that as meaning that 90 percent of the development work is done, so that only "the other 90 percent" of development, test, QA, tuning, and so forth is left to do. (After all, if it were almost ready to go into production, presumably HP would have completed the project rather than gone the Veritas route.)
What's not being contributed? This announcement strictly concerns the Tru64 file system; it does not include TruCluster--which builds atop Tru64, but is a separate product.
When will AdvFS be available as a file system for Linux? Short answer: probably never. One Wikipedia contributor amusingly opines: "anyone should be able to port it to the Linux kernel and get it into mainline." However, the reality is that although AdvFS code may assist with and its design documents may inform future Open Source file system work, it's highly unlikely that AdvFS qua AdvFS will be plopped into Linux in its current form.
What file system project(s) could make use of AdvFS? In the relatively near-term, ext4 is the next new file system that we're likely to see widely deployed on Linux. It's a largely incremental enhancement to the ubiquitous ext3 that focuses on larger file and file system sizes as well as various performance tweaks. Versions of ext4 are starting to appear in community releases such as Fedora 9. HP, among many others, has been involved in ext4 development, but AdvFS itself won't have a big impact here. Rather, it's Btrfs (pronounced "butter f s") with which HP is looking to hookup AdvFS.
What is Btrfs? In general terms, think of Btrfs as a "next generation file system," which is to say one that moves beyond the administration and availability models used by current file systems. Although the specifics are quite different, Sun's ZFS is another example. From its project page on kernel.org: "Btrfs is a new copy on write filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration. Initially developed by Oracle, Btrfs is licensed under the GPL and open for contribution from anyone."
What's HP's interest? HP has contributed to a wide range of Open Source projects over time, but this goes beyond generic community goodness. Oracle kicked off Btrfs but is apparently interested in moving it beyond being just "an Oracle filesystem project." As for HP, AdvFS (and TruCluster) were long part-and-parcel of a close development relationship with Oracle involving database clustering. It's pretty clear to me that Oracle wanted more companies involved with Btrfs development; AdvFS was a highly relevant technological bauble for HP to bring as a housewarming present for one of its most important partners.
Bottom line: Especially given the great success that its ProLiant and BladeSystem lines have been enjoying, HP has a vested interest in the continued success of Linux and its ability to scale to larger and larger workloads. A lot of that growth is about rapidly growing data, so a next generation file system is going to be needed at some point. Btrfs per se is speculative, with production deployments even in the 2011 or 2012 timeframe seeming optimistic given the slow cadence of file system roll outs. (It's customers' data we're talking about here, after all. Sun took a good couple of years to start seriously rolling out ZFS even after it was nominally "ready.") But making AdvFS resources available gives Open Source developers the opportunity for useful insights into how a sophisticated production file system should work. Especially to the degree that AdvFS wins some points with a major partner, it's a nice way to leverage some IP that would otherwise mostly go to waste.