AdvFS uses a relatively advanced concept of a storage pool and of logical file systems. A file domain is composed of any number of block devices, which could be partitions, LVM or LSM devices. A file set is a logical file system created in a single file domain. Administrators can add or remove volumes from an active file domain, providing that there is enough space on the remaining file domain, in case of removal. This was one of the trickier original features to implement because all data or metadata residing on the disk being removed had to first be migrated, online, to other disks, prior to removal. File sets can be balanced, meaning that file content of file sets be balanced across physical volumes. Particular files in a file set can be striped across available volumes. Administrators can take a snapshot of any active or inactive file set. This allows for easy on-line backups. Another feature allows administrators to add or remove block devices from a file domain, while the file domain has active users. This add/remove feature allows migration to larger devices or migration from potentially failing hardware without a system shutdown.
Under Linux, AdvFS supports an additional ‘’syncv’’ system call to atomically commit changes to multiple files.
History
AdvFS, also known as Tru64 UNIX Advanced File System, was developed by Digital Equipment Corporation engineers in the late 1980s to mid-1990s in Bellevue, WA. They had previously worked on the earlier Mica and Ozix projects there. It was first delivered on the DEC OSF/1 system. Over time, development moved to teams located in Bellevue, WA and Nashua, NH. Versions were always one version number behind the operating system version. Thus, DEC OSF/1 v3.2 had AdvFS v2.x, Digital UNIX 4.0 had AdvFS v3.x and Tru64 UNIX 5.x had AdvFS v4.x. It is generally considered that only AdvFS v4 had matured to production level stability, with a sufficient set of tools to get administrators out of any kind of trouble. The original team had enough confidence in its log based recovery to release it without an "fsck" style recovery utility on the assumption that the file system journal would always be allocated on mirrored drives. In 1996, Lee and Thekkath described the use of AdvFS on top of a novel disk virtualisation layer known as Petal. In a later paper, Thekkath et al. describe their own file system built on top of Petal and compare it to the performance of AdvFS running on the same storage layer. Shapiro and Miller compared the performance of files stored in AdvFS to Oracle RDBMS version 7.3.4 BLOB storage. Compaq Sierra Parallel File System created a cluster file system based on multiple local AdvFS filesystems; testing carried out at Lawrence Livermore National Laboratory in 2000–2001 found that while the underlying AdvFS filesystem had adequate performance, the PFS clustering layer on top of it performed poorly. On June 23, 2008, its source code was released by Hewlett-Packard under GNU General Public License version 2 at SourceForge in order to be compatible with the also GPLv2 licensed Linux kernel license.