WAFL

From Just Solve the File Format Problem
Revision as of 09:48, 26 March 2015 by Darkstar (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
File Format
Name WAFL
Ontology
Released 1994

The WAFL filesystem (WAFL stands for Write-Anywhere File Layout) was developed by NetApp (then known as Network Appliance) in 1994 and is used exclusively in their FAS series filers since then. The filers run a custom operating system based on BSD called Data Ontap. Only recently they started to migrate their code to a FreeBSD base system, however all of their proprietary code still runs as kernel-modules and userspace-processes atop FreeBSD.

WAFL is heavily patented and thus no significant reverse-engineering task has been started yet. Technically it is very similar to btrfs: Log-structured writes, read-only snapshots that can be made writeable, inline and post-process compression, deduplication, replication, Windows-compatible ACLs, virtual resizable volumes (similar to btrfs subvolumes) and more features are all available. It also includes its own RAID system with 1 or 2 disk parity (called RAID DP, where DP stands for Diagonal Parity) and uses various on-disk checksums to protect against silent data loss.

There is also a simulator available from NetApp that can be used to simulate a fully-functioning FAS filer in a virtual machine

Links

Patents

A lot of the inner workings of WAFL can be inferred from reading the patents filed by NetApp/Network Appliance

  • US7730277 System and method for using PVBN placeholders in a flexible volume of a storage system
  • US7243207 Technique for translating a pure virtual file system data stream into a hybrid virtual volume
  • US7194595 Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream
  • US5819292 Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file system
  • US20140108468 Methods and apparatus for changing versions of a filesystem
  • US20140082281 Extension of write anywhere file system layout
  • US20120158670 Fingerprints datastore and stale fingerprint removal in de-duplication environments
  • US20020083037 Instant Snapshots
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox