Many people think WAFL is a filesystem. I certainly thought so fifteen years ago when I wrote it, but folks like Kostadis Roussos are now claiming that I was wrong. (A NetApp employee no less!)
To understand why, you have to understand how WAFL is structured.
WAFL has a “top-half” that deals with files and folders—“My Documents” and “QuarterlyEarnings.ppt”. It keeps track of who created the file, when they created it, who can look at the file, who can modify it, and so on. This certainly sounds like what a filesystem would do. The top-half actually supports multiple filesystem protocols. We started with NFS for UNIX, but right from the beginning we knew we’d be adding more. Originally we expected that Novell Netware would be next, but Windows CIFS gained momentum so quickly that we did that instead and never got around to Netware.
WAFL also has a “bottom-half” that manages the physical disks in the system. It organizes the disks into separately managed pools, it keeps track of which disks are part of which RAID array, and it arranges data on the disk to maximize read and write performance. The “bottom half” also handles data management functions like snapshots, remote mirrors, cloning, de-duplication, thin provisioning, and so on. These capabilities would traditionally be part of a volume manager or a block virtualization layer.
One of the things that was unique about WAFL when we shipped it was the way we integrated the two layers. There are many opportunities for new features and clever optimization if you design the layers to work well together.
When we decided to support iSCSI and Fibre Channel SAN, WAFL’s bottom-half data management capabilities were a perfect fit. In fact, one of the things that helped convince me that NetApp should support block-based storage was realizing how valuable our data management features would be in that environment.
This top-half/bottom-half structure explains the confusion about WAFL. My current view is that WAFL contains a filesystem, multiple filesystems actually, but that’s different from being a filesystem.


what a big mess.
Posted by: anal | December 09, 2008 at 08:16 AM
Ghee, that is a fairly useless comment.
Posted by: Sjon | December 09, 2008 at 01:30 PM
You're right.
Anyhow. I've under my eyes the technical white paper "A Thorough Introduction to FlexClone Volumes". Table1, "Data ONTAP 75 terms and definitions":
WAFL - Write Anywhere File Layout, a patented file system designed exclusively for NetApp appliances to optimize write performance
Now, i call this a mess nevertheless... I'm struggling to find out how's the logic, or better the logics, behind (an in front of) netapp.
Posted by: anal | December 10, 2008 at 02:21 AM
I have one question too.
About the sentence:
WAFL also has a “bottom-half” that manages the physical disks in the system. It organizes the disks into separately managed pools
Are those pools the FlexVols?
Thank you so much.
Posted by: anal | December 10, 2008 at 02:39 AM
Perhaps you want to try and digest -as per Dave's hint above- Kostadis' series of post on how WAFL *evolved* over the years FROM a file system into a more layered Volume Manager/SAN/NAS data management architecture.
Start here: http://blogs.netapp.com/extensible_netapp/2008/10/why-wafl-is-not.html
Posted by: Geert | December 10, 2008 at 06:14 AM
I thought I'd cleared this up!! WAFL is a Platypus!
Posted by: Martin G | December 10, 2008 at 12:49 PM
WAFL has little "pockets" for LUNs. like a WAFFLE has little squares to hold the yummy syrup.
:-)
~Max
Posted by: Max | December 10, 2008 at 08:33 PM
WAFL sounds like an integrated superset of filesystem & volumes manager capabilities. Cool!!
Posted by: Mike | December 11, 2008 at 11:50 AM
I love WAFL. (would be a good bumpersticker.
Anyway, it doesn't really matter if it is or isn't. More important is that it works the way we need it, efficiently and effectively.
Posted by: Ernie Bokkelkamp | December 12, 2008 at 09:24 AM
"Anyway, it doesn't really matter if it is or isn't. More important is that it works the way we need it, efficiently and effectively."
And reliably! Just watched a Netapp 740 and 760 setups be retired after being replaced with 270Cs. both the 740 and 760 had well over 1600 day uptimes, and were both used when purchased. Both were in heavy use production environments, and probably both could have kept going for another 1600 days...
Posted by: S. Birch | December 18, 2008 at 11:20 PM
ADVFS (Tru64) did something similar, i.e combine VM functionality with that of an FS. Though it wasn't as feature rich as WAFL is. I'm not sure what Kostadis thinks but a spade by another name is ... :)
Posted by: manik | December 24, 2008 at 05:01 PM
Why not make a WAFL2 that does what WAFL does, only simpler and better, from ground up?
Posted by: | December 28, 2008 at 01:29 AM