NetWare File System

In computing, the NetWare File System (NWFS) was a file system based on a heavily optimized, journal-based FAT file system. It was used in the Novell NetWare network operating system. It was the only file system for all volumes in NetWare versions 2.x, 3.x and 4.x, and the default and only file system for the SYS: volume continuing through version 5.x. Novell developed two varieties of NWFS:


 * 1) 16-bit NWFS 286, used in NetWare 2.x
 * 2) 32-bit NWFS 386, used in NetWare 3.x through NetWare 6.x.

In NetWare 5 and above, Novell Storage Services (NSS, released in 1998), superseded the NWFS format.

The NWFS on-disk format was never publicly released by Novell, but it was released by former Novell engineers as an open source project on Windows, Linux, and DOS in 2000. The project contains a complete rewrite of the NetWare File System, publishes all of the file system internals, and is hosted on GitHub and GitLab.

The published specifications for 32-bit NWFS are:
 * Maximum file size: 4 GB
 * Maximum volume size: 1 TB
 * Maximum files per volume: 2 million when using a single name space.
 * Maximum files per server: 16 million
 * Maximum directory entries: 16 million
 * Maximum volumes per server: 64
 * Maximum volumes per partition: 8
 * Maximum open files per server: 100,000
 * Maximum directory tree depth: 100 levels
 * Characters used: ASCII double-byte
 * Maximum extended attributes: 512
 * Maximum data streams: 10
 * Support for different name spaces: Microsoft Windows Long names (a.k.a. OS/2 namespace), Unix, Apple Macintosh
 * Support for restoring deleted files (salvage)
 * Support for journaling (Novell Transaction Tracking System a.k.a. TTS)
 * Support for block suballocation, starting in NetWare 4.x

For larger files, the file system utilized a performance feature named Turbo FAT.

Transparent file compression was also supported, although this had a significant impact on the performance of file serving.

Every name space requires its own separate directory entry for each file. While the maximum number of directory entries is 16,000,000, two resident name spaces would reduce the usable maximum number of directory entries to 8,000,000, and three to 5,333,333.

16-bit NWFS could handle volumes of up to 256 MB. However, its only name-space support was a dedicated API to handle Macintosh clients.

The Netware File System supported native RAID 0 and RAID 1 capabilities long before RAID systems came into use on personal computers. Disk mirroring and duplexing were basic features of the file system, and NWFS also supported multi-segmented volumes, and round-robin reads, much like RAID 0 and RAID 1 does today.