Jump to content

NetWare File System

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by SingMeASongLove (talk | contribs) at 21:01, 27 July 2010. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
NWFS
Developer(s)Novell
Full nameNetWare File System
Partition IDs0x64 (2.x), 0x65 (3.X-6.X)
Structures
Directory contents32 bit Mirrored FAT
File allocation64K Indexed Block
Bad blocksHotfixing
Limits
Max volume size16 TiB
Max file size4 GiB x 64K
Max no. of files4 Billion
Max filename length256 bytes
Features
Transparent
compression
Yes (Shannon Fano)
Transparent
encryption
Yes
Other
Supported
operating systems
Novell NetWare,Linux,Windows

NetWare File System (NWFS) is a file system, based on a heavily-modified version of FAT. It was used in the Novell NetWare operating system. It is the default and only file system for all volumes in versions 2.x through 4.x, and the default and only file system for the SYS volume continuing through version 5.x. There were two varieties of NWFS: 16-bit NWFS 286, used in NetWare 2.x; and 32-bit NWFS 386, used in NetWare 3.x through NetWare 6.x. It was superseded by the release of Novell Storage Services (NSS) in 1998.

The Netware File System uses a 32 bit File Allocation Table scheme similar to the MSDOS file system with several improvements including block suballocation, sparse files by the use of block indexes in the fat tables, and mirrored fat and directory files. The NetWare file system also employed a 4 way cylinder aligned segment table to record volume disk segments should a drive spindle fail allowing recovery. NSS subsequently integrated many of the robust features of the NetWare File system into its design including mirroring and hotfixing. The Open Source NetWare File System was designed by Jeff Merkey and Darren Major.

The NetWare file system was the first storage architecture to employ sector remapping for failed drive sectors called drive hotfixing which would redirect sector mapping to a reserved area of the device. Later Disk Drive manufactuters employed the same technique internally within the drive logic to perform a similar function transparently to the host operating system.

Open Source NetWare File System

In 1999 the Open Source NetWare File System was released on Linux and Windows. The NWFS on-disk format for NetWare 3.x, 4,x, and 5.x was developed and then publicly released on Linux in 1999 and 2000 by former Novell Chief Scientist Jeff Merkey and Darren Major from the Timpanogas Research Group. The specifications for 32-bit NWFS was never published by Novell but the open source version published disclosed the actual specifications for NWFS:

  • Maximum file size: 4 billion x 64K
  • Maximum volume size: 16TB
  • Maximum files per volume: 4 billion when using a single name space.
  • Maximum files per server: 4 Billion
  • Maximum directory entries: 4 Billion
  • Directory Record Size: 128 bytes (DOS), 3 x 128 (LONGNAME), 3 x 128 (UNIX), 2 x 128 (MAC)
  • Maximum volumes per server: 64
  • Maximum volumes per partition: 8
  • Maximum open files per server: 100,000
  • Maximum directory tree depth: Infinite
  • Characters used: ASCII double-byte, UTF8
  • Maximum extended attributes: 16
  • 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 (transaction tracking service)
  • Support for block suballocation, starting in NetWare 4.x

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. The FTAM namespace was later converted into a B++ tree for journalled recovery as this namespace was reserved but never used in practice.

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

See also