Filesystems HOWTO Martin Hinner Version 0.7, 23 October 1999 This small HOWTO is about filesystems and accessing filesystems. It is not Linux- or Unix-related and you can find there also a lot of inter- esting information about non-Unix (file)systems. ______________________________________________________________________ Table of Contents: 1. Introduction 1.1. Copyright 1.2. Filesystems mailing-list 1.3. Filesystems collection at metalab.unc.edu 1.4. Credits 1.5. Filesystems accessibility map 1.6. Introduction to contiguous allocation filesystems 1.7. Introduction to linked-list allocation filesystems 1.8. Introduction to FAT-based filesystems 1.9. Introduction to Inode filesystems 1.10. Introduction to extent filesystems 1.11. Introduction to filesystems using balanced trees 1.12. Introduction to logging/journaling filesystems 2. Volumes 2.1. PC Partitions 2.1.1. GNU parted 2.2. Other partitions 2.3. Unix slices 2.4. Windows NT volumes 2.5. MD - Multiple Devices driver for Linux 2.6. LVM - Logical Volume Manager 2.7. OS/2 LVM 2.8. Novell NetWare volumes 3. DOS FAT 12/16/32, VFAT 3.1. Accessing FAT from IRIX 3.2. Accessing VFAT from OS/2 (VFAT-OS2) 3.3. Accessing FAT32 from OS/2 (FAT32.IFS) 3.4. Accessing FAT32 from Windows NT 4.0 3.5. Accessing FAT32 from Windows NT 4.0 3.6. Accessing Stac/Dblspaced/Drvspaced drives from Linux (DMSDOS) 3.7. Accessing Dblspaced/Drvspaced drives from Linux (thsfs) 3.8. Fsresize - FAT16/32 resizer 3.9. FIPS - FAT16 resizer 4. High Performance FileSystem (HPFS) 4.1. Accessing HPFS from DOS (iHPFS) 4.2. Accessing HPFS from DOS (hpfsdos) 4.3. Accessing HPFS from DOS (hpfsa) 4.4. Accessing HPFS from DOS (amos) 4.5. Accessing HPFS from Linux 4.6. Accessing HPFS from FreeBSD 4.7. Accessing HPFS from Windows NT 3.5 4.8. Accessing HPFS from Windows NT 4 5. New Technology FileSystem (NTFS) 5.1. Accessing NTFS from DOS (NTFSDOS.EXE) 5.2. Accessing NTFS from DOS (ntpwd) 5.3. Accessing NTFS from OS/2 5.4. Accessing NTFS from Linux 5.5. Accessing NTFS from FreeBSD and NetBSD 5.6. Accessing NTFS from BeOS 5.7. Accessing NTFS from BeOS (another) 5.8. Repairing NTFS using NTFSDOS Tools 5.9. Repairing NTFS using NTRecover 5.10. Repairing "fault tolerant" NTFS disks using FTEdit 6. Extended filesystems (Ext, Ext2, Ext3) 6.1. Extended filesystem (ExtFS) 6.2. Second Extended Filesystem (Ext2 FS) 6.3. Third Extended Filesystem (Ext3 FS) 6.4. E2compr - Ext2fs transparent compression 6.5. Accessing Ext2 from DOS (Ext2 tools) 6.6. Accessing Ext2 from DOS, Windows 9x/NT and other Unixes (LTools) 6.7. Accessing Ext2 from OS/2 6.8. Accessing Ext2 from Windows 95/98 (FSDEXT2) 6.9. Accessing Ext2 from Windows 95 (Explore2fs) 6.10. Accessing Ext2 from Windows NT (ext2fsnt) 6.11. Accessing Ext2 from BeOS 6.12. Accessing Ext2 from MacOS (MountX) 6.13. Accessing Ext2 from MiNT 6.14. Ext2fs defrag 6.15. Ext2fs resize 6.16. Ext2end 6.17. Repairing/analyzing/creating Ext2 using E2fsprogs 6.18. Ext2 filesystem editor - Ext2ed 6.19. Linux filesystem editor - lde 6.20. Ext2 undelete utilities 7. Macintosh Hierarchical Filesystem - HFS 7.1. Accessing HFS from Linux 7.2. Accessing HFS from OS/2 (HFS/2) 7.3. Accessing HFS from Windows 95/98/NT (HFV Explorer) 7.4. Accessing HFS from DOS (MAC-ETTE) 7.5. HFS utils 7.6. MacFS: A Portable Macintosh File System Library 8. ISO 9660 - CD-ROM filesystem 8.1. RockRidge extensions 8.2. Joliet extensions 8.3. Hybrid CD-ROMs 8.4. Physical formats 8.4.1. CD-DA - Audio CDs 8.4.2. Data CDs 8.4.3. Recordable CDs 8.4.3.1. CD-MO - Magneto-optical 8.4.3.2. CD-WO - Write-once 8.4.3.3. CD-RW - Rewritable CDs 8.4.4. CD Extra - eXtended Architecture 8.4.4.1. MODE-1 8.4.4.2. MODE-2 8.4.4.2.1. FORM-1 8.4.4.2.2. FORM-2 8.4.5. Video CD 8.5. Accessing Joliet from Linux 8.6. Accessing Joliet from BeOS 8.7. Accessing Joliet from OS/2 8.8. Accessing Audio CD as filesystem from BeOS 8.9. Creating Hybrid CD-ROMs (mkhybrid) 9. Other filesystems 9.1. ADFS - Acorn Disc File System 9.2. AFFS - Amiga fast filesystem 9.3. BeFS - BeOS filesystem 9.4. BFS - UnixWare Boot Filesystem 9.5. CrosStor filesystem 9.6. DTFS - Desktop filesystem 9.7. EFS - Enhanced filesystem (Linux) 9.8. EFS - Extent filesystem (IRIX) 9.9. FFS - BSD Fast filesystem 9.10. GPFS - General Parallel Filesystem 9.11. HFS - HP-UX Hi performance filesystem 9.12. HTFS - High throughput filesystem 9.13. JFS - Journaled filesystem (HP-UX, AIX, OS/2 WarpServer 5) 9.14. LFS - Linux log structured filesystem 9.15. MFS - Macintosh filesystem 9.16. Minix filesystem 9.17. NWFS - Novell NetWare filesystem 9.17.1. NetWare filesystem / 286 9.17.2. NetWare filesystem / 386 9.18. NSS - Novell Storage Services 9.19. ODS - On Disk Structure filesystem 9.20. QNX filesystem 9.21. Reiser filesystem 9.22. RFS (CD-ROM Filesystem) 9.23. RomFS - Rom filesystem 9.24. SFS - Secure filesystem 9.25. Spiralog filesystem (OpenVMS) 9.26. System V and derived filesystems 9.26.1. AFS - Acer Fast Filesystem 9.26.2. EAFS - Extended Acer Fast Filesystem 9.26.3. Coherent filesystem 9.26.4. S5 9.26.5. S51K - SystemV 1K 9.26.6. Version 7 filesystem 9.26.7. Xenix filesystem 9.27. Text - (Philips' CD-ROM Filesystem) 9.28. UDF - Universal Disk Format (DVD-ROM filesystem) 9.29. UFS 9.30. VxFS - Veritas filesystem (HP-UX, SCO UnixWare, Solaris) 9.31. XFS - Extended filesystem (IRIX) 9.32. Xia FS 10. Appendix 10.1. Network filesystems 10.1.1. AFS - Andrew Filesystem 10.1.2. CODA 10.1.3. NFS - Network filesystem (Unix) 10.1.4. NCP - NetWare Core Protocol (Novell NetWare) 10.1.5. SMB - Session Message Block (Windows 3.x/9x/NT) 10.2. Encrypted filesystems 10.2.1. CFS 10.2.2. TCFS 10.3. Writing your own filesystem driver 10.3.1. DOS 10.3.2. OS/2 10.3.3. Windows NT 10.4. Related documents ______________________________________________________________________ 11.. IInnttrroodduuccttiioonn The Filesystems HOWTO is about filesystems and accessing filesystems from various OS. Although this document has been put together to the best of my knowledge, it may and probably does contain mistakes. Please if you find some mistake or outdated information, let me know. I will try to keep this document up to date and as error free as possible. Any contributions are also welcome, so if you want to write anything about filesystems, please contact me via e-mail. Before you read this HOWTO it's recommended to read Stein Gjoen's Disk-HOWTO (you can obtain it from ). This HOWTO can be obtained from or . 11..11.. CCooppyyrriigghhtt TThhee FFiilleessyysstteemmss HHOOWWTTOO,, CCooppyyrriigghhtt ((cc)) 11999999 MMaarrttiinn HHiinnnneerr <>.. This HOWTO is free document; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This HOWTO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this document or GNU CC; if not, write to the: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 11..22.. FFiilleessyysstteemmss mmaaiilliinngg--lliisstt You may want to join Filesystems mailing list. It's intended to be a good source of information for both end-users and developers. So if you have anything to do with filesystems, join ;-) To subscribe send email to and in the BODY (not the subject) of the email message put (without quotes): "ssuubbssccrriibbee ffss--ll". 11..33.. FFiilleessyysstteemmss ccoolllleeccttiioonn aatt mmeettaallaabb..uunncc..eedduu Filesystems collection is FTP/WWW site providing useful information about filesystems and filesystem-related programs and drivers. It lives at , or FTP-only at . 11..44.. CCrreeddiittss The original "Filesystems access HOWTO" was written by Georgatos Photis (see his homepage at ). This HOWTO contains a lot of information from his webpage. Thanks, Gef. Other people who have contributed or helped me (directly or indirectly) with this HOWTO are, in alphabetical order: +o Peter A. Dinda - HFS filesystem +o Radek Machacka - Thanks for SCO UnixWare and SCO OpenServer Many thanks to the above people. If I have forgotten anyone, please let me know. 11..55.. FFiilleessyysstteemmss aacccceessssiibbiilliittyy mmaapp This is filesystem accessibility "map", alphabetically ordered by operating system. You may find this list a little bit chaotic. It's because Linux sgmltools don't know tables. YYOOUU SSEEEE TTHHAATT TTHHIISS ``MMAAPP'' IISS NNOOTT SSTTIILLLL CCOOMMPPLLEETTEE.. II WWIILLLL TTRRYY TTOO FFIINNIISSHH IITT IINN TTHHEE NNEEAARR FFUUTTUURREE.. FFrreeeeBBSSDD:: ``BSD FFS'' | ``Ext2'' | ``HPFS'' | ``NTFS'' LLiinnuuxx:: ``AFFS''| ``BeFS''| ``BFS''| ``Ext2 FS''| ``BSD FFS''| ``HPFS''| ``Qnx4 FS''| ``Xia'' NNeettBBSSDD:: ``BSD FFS'' | ``FAT12/16'' | ``ISO9660'' NNeettWWaarree 22..xx:: ``NWFS-286'' NNeettWWaarree 33..xx,, 44..xx:: ``NWFS-386'' | ``ISO9660'' NNeettWWaarree 55..xx:: ``NWFS-386'' | ``NSS'' | ``ISO9660'' OOppeennBBSSDD:: ``BSD FFS'' | ``FAT12/16'' OOSS//22:: ``Ext2 FS'' | ``FAT12/16/32'' | ``HPFS'' | ``HPFS'' | ``ISO 9660'' | ``JFS'' | ``VFAT'' QQNNXX 44:: ``FAT12/16'' | ``ISO 9660'' | ``Qnx4 FS'' SSCCOO OOppeennSSeerrvveerr:: ``AFS''| ``DTFS''| ``EAFS''| ``HTFS''| ``ISO 9660'' | ``S51K'' SSCCOO UUnniixxWWaarree:: ``BFS''| ``DTFS''| ``ISO 9660'' | ``System V''| ``VxFS'' 11..66.. IInnttrroodduuccttiioonn ttoo ccoonnttiigguuoouuss aallllooccaattiioonn ffiilleessyysstteemmss Some contiguous filesystems: ``BFS'', ``ISO9660 and extensions''. 11..77.. IInnttrroodduuccttiioonn ttoo lliinnkkeedd--lliisstt aallllooccaattiioonn ffiilleessyysstteemmss 11..88.. IInnttrroodduuccttiioonn ttoo FFAATT--bbaasseedd ffiilleessyysstteemmss Some FAT filesystems: ``FAT12/16/32, VFAT'' and ``NetWare filestem''. 11..99.. IInnttrroodduuccttiioonn ttoo IInnooddee ffiilleessyysstteemmss 11..1100.. IInnttrroodduuccttiioonn ttoo eexxtteenntt ffiilleessyysstteemmss Some 'extent' filesystems: ``EFS'' and ``VxFS''. 11..1111.. IInnttrroodduuccttiioonn ttoo ffiilleessyysstteemmss uussiinngg bbaallaanncceedd ttrreeeess Some filesystems which use B+ trees: ``HFS'', ``NSS'', ``Reiser FS'' and ``Spiralog filesystem''. 11..1122.. IInnttrroodduuccttiioonn ttoo llooggggiinngg//jjoouurrnnaalliinngg ffiilleessyysstteemmss File systems update their structural information (called metadata) by synchronous writes. Each metadata update may require many separate writes, and if the system crashes during the write sequence, metadata may be in inconsistent state. At the next boot the filesystem check utility (called fsck) must walk through the metadata structures, examining and repairing them. This operation takes a very very long time on large filesystems. And the disk may not contain sufficient information to correct the structure. This results in misplaced or removed files. A journaling file system uses a separate area called a log or journal. Before metadata changes are actually performed, they are logged to this separate area. The operation is then performed. If the system crashes during the operation, there is enough information in the log to "replay" the log record and complete the operation. This approach does not require a full scan of the file system, yielding very quick filesystem check time on large file systems, generally a few seconds for a multiple-gigabyte file system. In addition, because all information for the pending operation is saved, no removals or lost-and-found moves are required. Disadvantage of journaling filesystems is that they are slower than other filesystems. Some journaling filesystems: ``BeFS'', ``HTFS'', ``JFS'', ``NSS'', ``Spiralog filesystem'', ``VxFS'' and ``XFS''. 22.. VVoolluummeess 22..11.. PPCC PPaarrttiittiioonnss +o Partition types document by Andries Brouwer 22..11..11.. GGNNUU ppaarrtteedd +o Homepage: +o Download: +o Authors: Andrew Clausen , Lennert Buytenhek and Matt Wilson . +o Bug reports: , +o Access: varies for each filesystem, see below. +o License: GPL GNU parted can create, destroy, resize, copy and move partitions, and the filesystems on them. It currently supports ``Ext2'', ``FAT16'', ``FAT32'' and Linux-swap. Filesystem detect create resize copy check ext2 * * *1 fat * * *2 *2 * linux-swap * * * * NOTES: 11 Limited checking is done when the filesystem is opened. This is the only checking at the moment. All commands (including resize) will gracefully fail, leaving the filesystem in tact, if there is are any errors in the file system (and the vast majority of errors in general). 22 The size of the new partition, after resizing or copying, is restricted by the cluster size. This is worse than you think, because you don't get to choose your cluster size (it's a bug in Windows, and you want compatibility, right?). 22..22.. OOtthheerr ppaarrttiittiioonnss 22..33.. UUnniixx sslliicceess 22..44.. WWiinnddoowwss NNTT vvoolluummeess +o Homepage: +o Author: Martin Hinner +o Access: Read-only, supports OS/2 Volumes, Windows NT Stripe sets and volumes. +o Download: +o License: GPL This linux-kernel driver allows you to access and mount linear and stripe set volumes. 22..55.. MMDD -- MMuullttiippllee DDeevviicceess ddrriivveerr ffoorr LLiinnuuxx +o Homepage:? +o Author: Marc ZYNGIER +o Access: Read-write, supports linear mode, RAID-1, RAID-4 and RAID-5. +o Download: Linux kernel, tools are available at +o License: GPL This driver lets you combine several hard disk partitions into one logical block device. This can be used to simply append one partition to another one or to combine several redundant hard disks to a RAID1/4/5 device so as to provide protection against hard disk failures. This is called "Software RAID" since the combining of the partitions is done by the kernel. 22..66.. LLVVMM -- LLooggiiccaall VVoolluummee MMaannaaggeerr The LVM was originally developed by Veritas (see ). Linux implementation is available here: +o Homepage: +o Author: Heinz Mauelshagen +o Access: ? +o Download: +o License: GPL 22..77.. OOSS//22 LLVVMM Logical Volume Manager is available in OS/2 WarpServer 5. It allows you to create linear volumes on several disks/partitions. 22..88.. NNoovveellll NNeettWWaarree vvoolluummeess NetWare volumes are used for NWFS-386 filesystem. 33.. DDOOSS FFAATT 1122//1166//3322,, VVFFAATT 33..11.. AAcccceessssiinngg FFAATT ffrroomm IIRRIIXX +o Homepage: +o Download: +o Author: +o Access: ? +o License: ? This is "hack" of the public domain mtools package to allow SGIs to read from and write to DOS formatted SCSI disks - including (some?) removable media. It is based on mtools v2.0.7. Make sure you read the README.FIRST before using this software as well as the Zip and Jaz FAQ. Please note that IRIX release 6.3 and greater now support the DOS (FAT) filesystem directly. These utilities are only really useful if you are running earlier IRIX releases. 33..22.. AAcccceessssiinngg VVFFAATT ffrroomm OOSS//22 ((VVFFAATT--OOSS22)) +o Homepage: +o Author: Daniel Steiner +o Access: Read-Write, no EAs supported. +o Mirror: +o License: GPL VFAT-OS2 is a package that will allow OS/2 to seamlessly access Windows 95 VFAT formatted partitions from OS/2 as if they were standard OS/2 drive letters. The ultimate aim of this package is to be able to use the VFAT file system as a replacement of FAT. It can now also access NTFS partitions in read-only mode. 33..33.. AAcccceessssiinngg FFAATT3322 ffrroomm OOSS//22 ((FFAATT3322..IIFFSS)) +o Homepage: +o Author: Henks Kelder < hkelder@capgemini.nl > +o Access: Read-Write, long filenames, no EAs support. +o Download: +o License: Free FAT32.IFS for OS/2 will allow you to access FAT32 partitions from OS/2. You cannot create FAT32 partitions, you'll still need Win95 OSR2 to do that. Also, OS/2s CHKDSK cannot fix all possible errors that can occur, you'll have to use Windows 95 Scandisk to fix certain errors. 33..44.. AAcccceessssiinngg FFAATT3322 ffrroomm WWiinnddoowwss NNTT 44..00 +o Author: Andrey Shedel < andreys@tarzan.cr.cyco.com > +o License: Free or GPL ? 33..55.. AAcccceessssiinngg FFAATT3322 ffrroomm WWiinnddoowwss NNTT 44..00 +o Homepage: +o Author: Mark Russinovich and Bryce Cogswell . +o Access: Read-only in free version, RW in commercial. +o Download: ? +o License: Free(read-only) or Commercial(read-write) This is a FAT32 file system driver for Windows NT(R) 4.0. Once installed, any FAT32 drives present on your system will be fully accessible as native Windows NT volumes. Free version provides read-only capabilities. A read/write version is for sale. 33..66.. AAcccceessssiinngg SSttaacc//DDbbllssppaacceedd//DDrrvvssppaacceedd ddrriivveess ffrroomm LLiinnuuxx ((DDMMSSDDOOSS)) +o Homepage: +o Author: Frank Gockel and Pavel Pisa +o Access: Stacker, Dblspace and Drvspace in Read-Write mode, long filenames. +o Download: +o Freshmeat: Console/Filesystems +o License: GPL DMSDOS reads and writes compressed DOS filesystems (CVF-FAT). The following configurations are supported: +o DoubleSpace / DriveSpace (MS-DOS 6.x) +o DoubleSpace / DriveSpace (Windows 95) +o DriveSpace 3 (Windows 95 with Plus! pack) +o Stacker 3 +o Stacker 4 It works with FAT32, NLS, codepages (tested with fat32 patches version 0.2.8 under Linux 2.0.33 and with fat32 in standard 2.1.xx kernels and 2.0.34+35). Dmsdos can run together with vfat or umsdos for long filenames. It has been redesigned to be ready for SMP and should now compile completely under libc6. 33..77.. AAcccceessssiinngg DDbbllssppaacceedd//DDrrvvssppaacceedd ddrriivveess ffrroomm LLiinnuuxx ((tthhssffss)) +o Download: +o Author: Thomas Scheuermann +o Access: Dblspace and Drvspace in Read-only mode. +o License: See copyright on files. Basically free 33..88.. FFssrreessiizzee -- FFAATT1166//3322 rreessiizzeerr +o Homepage: +o Author: Andrew Clausen +o Download: +o Freshmeat: Console/Filesystems +o Access: Read/Write, full FAT16/FAT32 support +o License: GPL Resizes FAT16/FAT32 filesystems. It doesn't require any other programs (like a defrager). It has --backup and --restore options, so if there's a power failure, (or a bug), you can always go back. The backup files are usually < 1 meg. The author probably won't be releasing any more versions of fsresize, because he is working on parted - a Partition Magic clone. It will be able to resize, copy, create and check filesystems/partitions. 33..99.. FFIIPPSS -- FFAATT1166 rreessiizzeerr +o Homepage: ? +o Author: Arno Schaefer +o Download: +o License: GPL 44.. HHiigghh PPeerrffoorrmmaannccee FFiilleeSSyysstteemm ((HHPPFFSS)) Good HPFS links: +o +o +o - a good page about HPFS accessibility 44..11.. AAcccceessssiinngg HHPPFFSS ffrroomm DDOOSS ((iiHHPPFFSS)) +o Homepage: +o Author: Marcus Better Marcus.Better@abc.se +o Download: +o Access: Read-only +o License: GPL iHPFS makes possible for OS/2 users to use their HPFS partitions when they boot plain DOS. The HPFS partition is assigned a drive letter, and can be accessed like any DOS drive.iHPFS is restricted to read- only access. This program is no longer being developed, because author doesn't use OS/2. If you are willing to maintain the program, let him know. 44..22.. AAcccceessssiinngg HHPPFFSS ffrroomm DDOOSS ((hhppffssddooss)) +o Homepage: ? +o Author: Robert Muchsel (this e-mail doesn't work) +o Access: Read-only +o License: Shareware ($23) 44..33.. AAcccceessssiinngg HHPPFFSS ffrroomm DDOOSS ((hhppffssaa)) +o Homepage: +o Author: Andreas Kinzler (this email doesn't work) +o Download: +o Access: Read/Write +o License: Shareware ($40) 44..44.. AAcccceessssiinngg HHPPFFSS ffrroomm DDOOSS ((aammooss)) +o Homepage: ? +o Author: Allan Mertner (this email doesn't work) +o Download: +o License: Shareware ($50) 44..55.. AAcccceessssiinngg HHPPFFSS ffrroomm LLiinnuuxx +o Homepage: +o Download: for 2.0 kernels; and for 2.2 kernels +o Author: Mikulas Patocka < mikulas@artax.karlin.mff.cuni.cz > +o Access: Read-Write, extended attributes, long names. +o License: GPL This driver is part of Linux kernel (2.1.x+). It can read and write to HPFS partions. Access rights and owner can be stored in extended attributes. Few bugs in original read-only HPFS are corrected. It supports HPFS386 on Warp client. If you have kernel with HPFS support, say "Y"es to 'OS/2 HPFS filesystem support' in Filesystems submenu. Then recompile kernel using 'make dep bzImage', reboot and try to mount your HPFS partition (e.g. mount /dev/hda2 /mnt -t hpfs). 44..66.. AAcccceessssiinngg HHPPFFSS ffrroomm FFrreeeeBBSSDD +o Homepage: +o Download: +o Author: Semen A. Ustimenko < semenu@FreeBSD.org > +o Access: Read/Only +o License: BSD Driver allows to mount HPFS volume into Unix namespace. ReadOnly access is only supported for now. 44..77.. AAcccceessssiinngg HHPPFFSS ffrroomm WWiinnddoowwss NNTT 33..55 +o Homepage: +o Download: +o Author: Chris Behnken < nbehnken@htc.net > +o License: Freeware This program will edit the Windows NT registry and enable HPFS support. Pinball.sys is the HPFS filesystem driver for Windows NT. It can be found on NT 3.5x's CD-ROM. Microsoft no longer supports HPFS. Installing this program will void your warranty and possibly the license agreement. 44..88.. AAcccceessssiinngg HHPPFFSS ffrroomm WWiinnddoowwss NNTT 44 +o Download: +o Author: ? +o License: ? HPFS driver for Windows NT 4.0 55.. NNeeww TTeecchhnnoollooggyy FFiilleeSSyysstteemm ((NNTTFFSS)) References: +o NTFS 5 information +o Rajeev Nagar, Windows NT File System Internals (O'Reilly). +o Helen Custer, Inside the Windows NT File System, ISBN: 1-55615-660-X. +o NTFS documentation by Regis Duchesne , or +o Microsoft TechNet, February 97, Windows NT Training: Support, NTFS +o 55..11.. AAcccceessssiinngg NNTTFFSS ffrroomm DDOOSS ((NNTTFFSSDDOOSS..EEXXEE)) +o Homepage: http://www.sysinternals.com/ntfs20.htm +o Authors: Mark Russinovich and Bryce Cogswell . +o Access: Read-only, Long filenames under DOS 7 and Win9x. NTFSDOS.EXE is a network file system redirector for DOS/Windows that is able to recognize and mount NTFS drives for transparent access. It makes NTFS drives appear indistinguishable from standard FAT drives, providing the ability to navigate, view and execute programs on them from DOS or from Windows, including from the Windows 3.1 File Manager and Windows 95 Explorer. 55..22.. AAcccceessssiinngg NNTTFFSS ffrroomm DDOOSS ((nnttppwwdd)) +o Homepage: +o Author: Grenier Christophe < grenier@nef.esiea.fr > +o Access: Read-only (rw experimental), long filenames supported, no driver letter (dos tools) +o License: GPL NTPwd contains command line tools to access NTFS partition, it'a a Dos port of the driver used by Linux. It contains too a little utility to change NT password. 55..33.. AAcccceessssiinngg NNTTFFSS ffrroomm OOSS//22 +o Homepage: +o Mirror: , +o Author: Daniel Steiner < info@dsteiner.com > +o Access: Read-only, Long filenames supported ntfs_003.zip archive contains only command line tools to acccess a NTFS partition in OS/2. A true IFS for accessing NTFS is included in ``VFAT-OS2'' v0.05. 55..44.. AAcccceessssiinngg NNTTFFSS ffrroomm LLiinnuuxx +o Homepage: http://www.informatik.hu-berlin.de/~loewis/ntfs/ +o Author: Martin von Loewis loewis@informatik.hu-berlin.de +o Freshmeat: Console/Filesystems +o Access: Read-only (RW experimental), Long filenames supported. +o License: GPL This fs is also part of Linux Kernel (2.1.x and higher). 55..55.. AAcccceessssiinngg NNTTFFSS ffrroomm FFrreeeeBBSSDD aanndd NNeettBBSSDD +o Homepage: +o Author: Semen A. Ustimenko > +o Download: As part of FreeBSD ( ), and NetBSD ( ) +o Mirror: Lookup for FreeBSD's and NetBSD's mirrors +o Access: Read + limited writing, doesn't support codepages +o License: BSD Driver allows to mount NTFS volumes under FreeBSD and NetBSD. We also support limited writing ability: you can write into not comressed files without holes, but you can't change the size of file yet. Write support was made to swap on NTFS volume. 55..66.. AAcccceessssiinngg NNTTFFSS ffrroomm BBeeOOSS +o Homepage: +o Author: Travis Geiselbrecht < geist@tamu.edu > +o Download: +o Access: ? +o License: Free This is a ALPHA version of a NTFS driver for BeOS. It is not the most polished thing in the world, but every release that author puts out is more stable than the last. He just implemented compressed file reads, so be careful with those. He also finally worked with NTFS 5 volumes, and managed to root out a few bugs. Author now works for Be Inc, so you will not see his NTFS and ext2 filesystem support updated on the web much more. The drivers will be pulled into future BeOS releases. 55..77.. AAcccceessssiinngg NNTTFFSS ffrroomm BBeeOOSS ((aannootthheerr)) +o Homepage: http://www.sw.com.sg/solutions/ntfs-ro.shtml +o Author: Standard & Western Software, http://www.sw-soft.com +o Download: http://download.sw.com.sg/pub/Be/ntfs-rod-0302.tar.gz +o Access: Read-only. 55..88.. RReeppaaiirriinngg NNTTFFSS uussiinngg NNTTFFSSDDOOSS TToooollss +o Homepage: +o Author: Winternals Software +o Access: Read-Write: Copy and replace files. +o License: Commercial An add-on to NTFSDOS that allows one to rename existing files, or to overwrite a file with new data. Very limited functionality. 55..99.. RReeppaaiirriinngg NNTTFFSS uussiinngg NNTTRReeccoovveerr +o Homepage: +o Author: Winternals Software +o Access: Freeware version is read-only, commercial version is read/write. +o License: Freeware read-only version, commercial read/write version Uses a boot floppy and a serial connection to a second NT system to provide full access to a NTFS drives on dead NT systems. Ideal for salvaging data or replacing drivers. 55..1100.. RReeppaaiirriinngg ""ffaauulltt ttoolleerraanntt"" NNTTFFSS ddiisskkss uussiinngg FFTTEEddiitt +o Homepage: ? MS ARTICLE ID: Q131658 +o Download: +o Author: Microsoft Corp. +o License: ? If you have a Windows NT Workstation or Server configured for fault tolerant (FT) partitions (such as stripes with parity and volume sets), and those partitions are inaccessible and appear in Disk Administrator as type Unknown, you can possibly make them accessible again by using the utility FTEDIT. 66.. EExxtteennddeedd ffiilleessyysstteemmss ((EExxtt,, EExxtt22,, EExxtt33)) +o - The ext2 homepage. This is the primary source of information about ext2. +o - Document about ext2fs from John Newbigin. +o - Ext2fs_Rec (ext2 recognizer for WinNT). Design and Linux implementation of Ext, Ext2 and Ext3: Rmy Card, Laboratoire MASI--Institut Blaise Pascal, , Theodore Ts'o, Massachussets Institute of Technology, and Stephen Tweedie, University of Edinburgh, 66..11.. EExxtteennddeedd ffiilleessyysstteemm ((EExxttFFSS)) This is old filesystem used in early Linux systems. 66..22.. SSeeccoonndd EExxtteennddeedd FFiilleessyysstteemm ((EExxtt22 FFSS)) This is "official" Linux filesystem. 66..33.. TThhiirrdd EExxtteennddeedd FFiilleessyysstteemm ((EExxtt33 FFSS)) Ext3 support the same features as Ext2, but includes also Journaling. 66..44.. EE22ccoommpprr -- EExxtt22ffss ttrraannssppaarreenntt ccoommpprreessssiioonn +o Homepage: +o Download: +o Maintainer: Peter Moulder +o Freshmeat: Console/Filesystems +o Access: As for ext2 (Read/Write, Long filenames) +o License: GPL except for compression algorithms (various licenses) Implements `chattr +c' for the ext2 filesystem. Software consists of a patch to the linux kernel, and patched versions of various software (principally e2fsprogs i.e. e2fsck and friends). AAlltthhoouugghh ssoommee ppeeooppllee hhaavvee bbeeeenn rreellyyiinngg oonn iitt ffoorr yyeeaarrss,, TTHHIISS SSOOFFTTWWAARREE IISS SSTTIILLLL IINN DDEEVVEELLOOPPMMEENNTT,, AANNDD IISS NNOOTT ,,EENNDD--UUSSEERR``--RREEAADDYY.. 66..55.. AAcccceessssiinngg EExxtt22 ffrroomm DDOOSS ((EExxtt22 ttoooollss)) +o Download:ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ext2/ +o Access: Read-only, no drive letters (special utilites) +o Author: Claus Tondering +o Access: ? +o License: ? A collection of DOS programs that allow you to read a Linux ext2 file system from DOS. 66..66.. AAcccceessssiinngg EExxtt22 ffrroomm DDOOSS,, WWiinnddoowwss 99xx//NNTT aanndd ootthheerr UUnniixxeess ((LLTToooollss)) +o Homepage: +o Author: Werner Zimmermann +o Homepage: +o Mirror: (only major releases) +o Access: Read/Write/Modify, Long filenames +o License: GPL The LTOOLS are under DOS/Windows 3.x/Windows 9x/Windows NT or non- Linux-UNIX, what the MTOOLS are under Linux. You can access (read, write, modify) your Linux files when running one of the other operating systems. The kernel of the LTOOLS is a set of command line programs. Additionally a JAVA program as a stand alone graphical user interface is available. Alternatively, you can use your standard web browser as a graphical user interface. The LTOOLS do not only provide access to Linux files on your own machine, but also remote access to files on other machines. 66..77.. AAcccceessssiinngg EExxtt22 ffrroomm OOSS//22 +o Homepage: +o Author: Matthieu WILLM , +o Download: +o Freshmeat: Console/Filesystems +o Access: Read/Write, swapping and booting to/from ext2, removable media support, but NO extended attributes. EXT2-OS2 is a package that allows OS/2 to seamlessly access Linux ext2 formatted partitions from OS/2 as if they were standard OS/2 drive letters. The ultimate aim of this package is to be able to use the ext2 file system as a replacement of FAT or HPFS. For the moment the only lacking feature to achieve this goal is the support for OS/2 extended attributes. 66..88.. AAcccceessssiinngg EExxtt22 ffrroomm WWiinnddoowwss 9955//9988 ((FFSSDDEEXXTT22)) +o Homepage:http://www.yipton.demon.co.uk/ +o Author: Peter van Sebille pvs@globalxs.nl , pese@nlnwgfsc.origin.nl +o Freshmeat: Console/Filesystems +o Access: Read-only, Long filenames supported 66..99.. AAcccceessssiinngg EExxtt22 ffrroomm WWiinnddoowwss 9955 ((EExxpplloorree22ffss)) +o Homepage: +o Access: Read/Write, Long filenames, symbolic links etc... +o Author: John Newbigin +o License: GPL A user space application which can read and write the second extended file system ext2. Supports hard disks and removable media, including zip and floppy. Uses a windows explorer like interface to show files and details. Supports Drag& Drop, context menus etc. Written for Windows NT, but has some support for Windows 95. Large disks can cause problems. 66..1100.. AAcccceessssiinngg EExxtt22 ffrroomm WWiinnddoowwss NNTT ((eexxtt22ffssnntt)) +o Homepage:http://www.cyco.nl/~andreys/ext2fsnt/ +o Author: Andrey Shedel < andreys@tarzan.cr.cyco.com > +o License: Free +o Access: Read-only, Long filenames supported 66..1111.. AAcccceessssiinngg EExxtt22 ffrroomm BBeeOOSS +o Homepage: +o Author: Travis Geiselbrecht < geist@tamu.edu > +o Download: for R4 and for R3. +o Access: Read-only, long filenames supported. +o License: Free This is a driver to allow BeOS to mount the Linux Ext2 filesystem. The version that is currently released author consider pretty stable. People have been using it for a long time, with no bug reports. Authow now works for Be Inc, so you will not see his ext2 and NTFS filesystem support updated on the web much more. The drivers will be pulled into future BeOS releases. 66..1122.. AAcccceessssiinngg EExxtt22 ffrroomm MMaaccOOSS ((MMoouunnttXX)) +o Homepage: +o Author: ? +o Download: ? MacOS driver which allows you to mount ext2 filesystems (Linux and MkLinux) on the Macintosh. 66..1133.. AAcccceessssiinngg EExxtt22 ffrroomm MMiiNNTT +o Homepage: +o Author: +o Download: ? +o License: GPL This is a full working Ext2 filesystem driver for FreeMiNT. It can read and write the actual ext2 version as implemented in Linux for example. The partition size is not limited and the logical sector size can be 1024, 2048 or 4096 bytes. The only restriction is that the physical sector size is smaller or equal to the logical sector size. The blocksize can be configured if you initialize the partition with mke2fs. 66..1144.. EExxtt22ffss ddeeffrraagg +o Download: +o Author: Stephen C. Tweedie < sct@redhat.com > +o License: GPL Defragments your ext2 filesystem. Needs updated for glib libraries. 66..1155.. EExxtt22ffss rreessiizzee +o Homepage: +o Download: +o Author: Lennert Buytenhek . +o License: GPL Resizes second extended filesystem. 66..1166.. EExxtt22eenndd +o Homepage: +o Maintainer: Mike Field +o License: Copyright Mike Field. To be GPLed once stable. For use with ``LVM'' Consists of 2 utilites. ext2endable reorganises an empty ext2 file systems to allow them to be extended, and ext2end that extends an unmounted ext2 file system. If ext2endable has not been run when the file system was created ext2end will only be able to extend it to the next multiple of 256MB 66..1177.. RReeppaaiirriinngg//aannaallyyzziinngg//ccrreeaattiinngg EExxtt22 uussiinngg EE22ffsspprrooggss +o Homepage: +o Authors: tytso@mit.edu and card@masi.ibp.fr +o Download: +o Freshmeat: Console/Filesystems +o License: GPL The ext2fsprogs package contains essential ext2 filesystem utilities which consists of e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, and most of the other core ext2 filesystem utilities. 66..1188.. EExxtt22 ffiilleessyysstteemm eeddiittoorr -- EExxtt22eedd +o Homepage: ? +o Author: tgud@tochnapc2.technion.ac.il. +o Download: +o License: GPL EXT2ED is a disk editor for the extended2 filesystem. It will show you the ext2 filesystem structures in a nice and intuitive way, letting you easily "travel" between them and making the necessary modifications. 66..1199.. LLiinnuuxx ffiilleessyysstteemm eeddiittoorr -- llddee +o Homepage: ? +o Author: Scott D. Heavner . +o Download: +o License: GPL This allows you to view some Linux fs's, hex block and inode editing are now supported and you can use it to dump an erased file to another partition with a little bit of work. Supports ext2, minix, and xiafs. Includes LLaaTTeeXX IInnttrroodduuccttiioonn ttoo tthhee MMiinniixx ffss. You must patch sources to compile on 2.2.x and 2.3.x kernels beacuse of missing Xia header files in kernel. 66..2200.. EExxtt22 uunnddeelleettee uuttiilliittiieess +o Homepage: +o Authors: Gunther Costas, Wilfredo Lugo, Jerry Ramirez +o Freshmeat: Console/Filesystems +o License: GPL This is a patch for kernel 2.0.30 that adds undelete capabilities using the "undeletable" attribute provided by the ext2fs. This patch include man pages, the undelete daemon and utilities. Check our web page for the latest and greatest version. 77.. MMaacciinnttoosshh HHiieerraarrcchhiiccaall FFiilleessyysstteemm -- HHFFSS All Macintosh storage devices except floppy disks are partitioned into one or more volumes. Volumes can contain four kinds of items: files, directories, directory threads and file threads. Each item is described by a catalog record which is analogous to a Unix inode. Catalog records are organized in the on-disk catalog B-Tree. Directory contents are derived from searching the catalog B-Tree. Only a file can occupy space outside of its catalog record. A Macintosh "file" contains two components, or forks. The resource fork is an indexed file containing code segments, menu items, dialog boxes, etc. The data fork has the "stream of bytes" semantics of a Unix file contents. Each fork is comprised of one or more extents or contiguous runs of blocks. An extent descriptor encodes an extent's starting block and length into a 32bit quantity. The first extent record (three extent descriptors) of each fork is a part of the file's catalog record. Any further extent records are kept in the extents overflow B-Tree. In addition to file and B-Tree extents a volume also contains two boot blocks, a volume information block, and a free space bitmap. There is a remarkable amount of redundancy in the on diskdata structures which improves crash recovery. While not strictly a part of the filesystem, it should be noted that several catalog record fields are reserved for the exclusive use of Finder, a program which handles user access to the filesystem and automatically maintains associations between applications and data files. Thus, HFS must also maintain this Finder info. Every file and directory on an HFS volume has an identification number, similar to an inode number in the Unix filesystem. However, a file or directory is named by its parent's identification number and the file or directory's file name, which is a 32 character string that can contain nulls. This combination is the search key to the volume's catalog B-Tree. The catalog B-Tree differs from a traditional B-Tree structure in that all the nodes at each level of the B-Tree are linked together to form a doubly linked list and all of the records are in the leaf nodes. These variations permit accessing many items in the same directory by traversing the leaves using the linked list. Strictly speaking, the HFS B-Trees are a variant of B+-Trees although Apple's technical documentation calls them B*-Trees. Each directory, including the root directory, contains its directory thread, which has the empty filename. The directory thread record contains the name of the directory and the id of the parent of the directory. Similarly, filethreads contain the name of a file and the id of the directory they are in. While every directory must contain a directory thread, file threads are very uncommon. In fact, both are examples of HFS redundancy - for undamaged trees, threads are not strictly necessary. Both file and directory records contain 32 bytes of information used by Finder. The first three extent descriptors for the catalog B-Tree are kept in the volume information block. If the catalog B-Tree file grows beyond three extents, the remaining extent descriptors are kept in the extents overfow. HFS and HFS+ (also called Sequoia) filesystems are well documented. The best source of tech. information about HFS can be found in the IInnssiiddee MMaaccttoosshh series of books. Look at . The HFS+ filesystem is described in TTeecchhnnoottee 11115500, available online at . A lot of information is available also in other technotes. This links are collected by Paul H. Hargrove: +o - HFS Ruminations. +o - Hey, Buddy, Can You Spare A Block? +o - Alias Manager Q&As +o - File Manager File Handling Q&As +o - File Manager Volume Handling Q&As +o - Bizarre Extension Loading Order: BackQuote Sorts Between "A" and "B" +o - Finder Q&As 77..11.. AAcccceessssiinngg HHFFSS ffrroomm LLiinnuuxx +o Homepage: +o Author: Paul. +o Freshmeat: Console/Filesystems +o License: GPL 77..22.. AAcccceessssiinngg HHFFSS ffrroomm OOSS//22 ((HHFFSS//22)) +o Homepage: +o Author: Marcus Better HFS/2 lets OS/2 users seamlessly read and write files on diskettes formatted with the Hierarchical File System, the file system used by Macintosh computers. With HFS/2, Macintosh diskettes can be used just as if they were regular diskettes. This program is no longer being developed, because author doesn't use OS/2. If you are willing to maintain the program, let him know. 77..33.. AAcccceessssiinngg HHFFSS ffrroomm WWiinnddoowwss 9955//9988//NNTT ((HHFFVV EExxpplloorreerr)) +o Homepage: +o Author: Lauri Pesonen +o Access: R/W access to floppies, Zip disks and virtual volume files. Read access to HFS and hybrid CD's. +o License: GPL An HFS volume browser for Windows NT and Windows 9x based on hfsutils. Launch pad support for all major Macintosh emulators running on Windows. 77..44.. AAcccceessssiinngg HHFFSS ffrroomm DDOOSS ((MMAACC--EETTTTEE)) +o Homepage: ? +o Author: Paul E. Thomson +o Download: +o Access: Read-Only +o License: Shareware ($34) Mac-ette is a PC utility which can read, write, format and duplicate Macintosh HFS format 1.4 Meg diskettes on a PC equipped with a 3.5 inch high density diskette drive. 77..55.. HHFFSS uuttiillss +o Homepage: +o Author: Robert Leslie +o OS/2 port: The hfsutils package contains a set of command-line utilities such as hformat, hmount, hdir, hcopy, etc. They allow read-write access of files and directories on HFS volumes. 77..66.. MMaaccFFSS:: AA PPoorrttaabbllee MMaacciinnttoosshh FFiillee SSyysstteemm LLiibbrraarryy +o Tech report: +o Author: Peter A. Dinda , George C. Necula, and Morgan Price +o Download: +o Access: Read/Write, full open/read/write/seek/close support +o License: Free for noncommercial and nonmilitary use, see This is a Macintosh file system library which is portable to a variety of operating systems and platforms. It presents a programming interface sufficient for creating a user level API as well as file system drivers for operating systems that support them. Authors implemented and tested such a user level API and utility programs based on it as well as an experimental Unix Virtual File System. They also describe the Macintosh Hierarchical File System and their implementation and note that the design is not well suited to reentrancy and that its complex data structures can lead to slow implementations in multiprogrammed environments. Performance measurements show that our implementation is faster than the native Macintosh implementation at creating, deleting, reading and writing files with small request sizes, but slower than the Berkeley Fast File System (FFS.) However, the native Macintosh implementation can perform large read and write operations faster that either our implementation or FFS. 88.. IISSOO 99666600 -- CCDD--RROOMM ffiilleessyysstteemm 88..11.. RRoocckkRRiiddggee eexxtteennssiioonnss Extensions allowing long filenames and Unix-style symbolic links. 88..22.. JJoolliieett eexxtteennssiioonnss Joliet is a Microsoft extension to the ISO 9660 filesystem that allows Unicode characters to be used in filenames. This is a benefit when handling internationalization. Like the Rock Ridge extensions, Joliet also allows long filenames. 88..33.. HHyybbrriidd CCDD--RROOMMss 88..44.. PPhhyyssiiccaall ffoorrmmaattss 88..44..11.. CCDD--DDAA -- AAuuddiioo CCDDss 88..44..22.. DDaattaa CCDDss 88..44..33.. RReeccoorrddaabbllee CCDDss 88..44..33..11.. CCDD--MMOO -- MMaaggnneettoo--ooppttiiccaall 88..44..33..22.. CCDD--WWOO -- WWrriittee--oonnccee 88..44..33..33.. CCDD--RRWW -- RReewwrriittaabbllee CCDDss 88..44..44.. CCDD EExxttrraa -- eeXXtteennddeedd AArrcchhiitteeccttuurree 88..44..44..11.. MMOODDEE--11 88..44..44..22.. MMOODDEE--22 88..44..44..22..11.. FFOORRMM--11 88..44..44..22..22.. FFOORRMM--22 88..44..55.. VViiddeeoo CCDD 88..55.. AAcccceessssiinngg JJoolliieett ffrroomm LLiinnuuxx +o Homepage: +o License: GPL 88..66.. AAcccceessssiinngg JJoolliieett ffrroomm BBeeOOSS +o Homepage: +o Author: Gertjan van Ratingen +o License: ? It is updated ISO9660 driver to be able to use a Joliet ISO9660 extensions. 88..77.. AAcccceessssiinngg JJoolliieett ffrroomm OOSS//22 +o Download: +o Author: IBM +o License: ? Jcdfs.zip archive contains CDFS.IFS driver for OS/2 with Joliet level 3 support. 88..88.. AAcccceessssiinngg AAuuddiioo CCDD aass ffiilleessyysstteemm ffrroomm BBeeOOSS +o Homepage: +o Download: (PPC/Intel archive) +o Author: Marco ? +o License: ? This filesystem add-on will allow you (if your CD drive supports it) to treat a regular audio CD as if it were a bunch of WAV files. You can copy the files, encode them to mp3, play them slower, faster, even backwards. 88..99.. CCrreeaattiinngg HHyybbrriidd CCDD--RROOMMss ((mmkkhhyybbrriidd)) +o Homepage: +o Download: +o Author: +o License: ? Make an ISO9660/HFS/JOLIET shared hybrid CD volume 99.. OOtthheerr ffiilleessyysstteemmss 99..11.. AADDFFSS -- AAccoorrnn DDiisscc FFiillee SSyysstteemm The Acorn Disc Filing System is the standard filesystem of the RiscOS operating system which runs on Acorn's ARM-based Risc PC systems and the Acorn Archimedes range of machines. Linux kernel 2.1.x+ supports this filesystem. Author of Linux filesystem implementation is Russell King . 99..22.. AAFFFFSS -- AAmmiiggaa ffaasstt ffiilleessyysstteemm The Fast File System (FFS) is the common filesystem used on hard disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20). Linux kernel 2.1.x+ supports this filesystem. Author of Linux filesystem implementation is Ray Burr . 99..33.. BBeeFFSS -- BBeeOOSS ffiilleessyysstteemm BeFS is ``journaling'' filesystem used in BeOS. For more information about BeFS see Practical File System Design with the Be File System book or BeFS linux driver source code. Linux BeFS implementation: +o Homepage: +o Download: +o Author: Makoto Kato +o Access: Read-only +o License: GPL This driver supports x86 and PowerPC Linux platform. Also, it only supports readable in hard disk and floppy disk. 99..44.. BBFFSS -- UUnniixxWWaarree BBoooott FFiilleessyysstteemm UnixWare BFS filesystem type is a special-purpose filesystem. It was designed for loading and booting UnixWare kernel. BFS was designed as a ``contiguous filesystem''. BFS supports only one (root) directory and you can create only regular files; no subdirs or special files such as devices or sockets can be created. For more information about BFS see . +o - superblock +o - inodes +o - storage blocks You can access BFS filesystem from Linux: +o Homepage: +o Download: +o Author: Martin Hinner +o License: GPL +o Access: Read-only This is read-only UnixWare Boot filesystem support for Linux. You can use it to mount read-only your UnixWare /stand partition or floppy disks. I don't plan a read-write version, but if you want it mail me. You might be also interested in ``VxFS'' Linux support. 99..55.. CCrroossSSttoorr ffiilleessyysstteemm This is new name for HHiigghh tthhrroouugghhppuutt ffiilleessyysstteemm ((HHTTFFSS)). For more information see CrosStor homepage at . 99..66.. DDTTFFSS -- DDeesskkttoopp ffiilleessyysstteemm Goals in designing the Desktop File System were influenced by impression of what environment was like for small computer systems. DTFS compress the data stored in regular files to reduce disk space requirements (directories remain uncompressed). Compression is performed a page at a time and occur 'on-the-fly'. DTFS supports LZW and no-compression but you can add your own algorithms. Some space is saved by not pre-allocating inodes. Any disk block is fair game to be allocated as an inode. Each inode is stored as a B+tree. For more information see DTFS USENIX paper (you can download it from ). Read/Write ccoommmmeerrcciiaall driver available from CrosStor for UnixWare and SUN Solaris: +o Download: +o License: Commercial? +o Access: Read/Write 99..77.. EEFFSS -- EEnnhhaanncceedd ffiilleessyysstteemm ((LLiinnuuxx)) The Enhanced Filing system project aims to create a new filing system for Linux and eventually other OSs which will allow the administrator to define mountable "file systems" on a set of block devices (either hard drives or partitions). The aim is to allow file systems to be added or removed from the partition set while the system is running and partitions may be added to a set (or removed if the remaining partitions have enough space to contain all the data) while the system is running.The two main aims are to allow a number of mountable file systems to share the same pool of storage space (IE have the user home dirs on the same drive as the news spool but have separate accounting for them), and to allow the easy addition of more hard drives to allow more space. Some other features that authors want to implement are ``logging/journaling'', support for as many OSs as possible (although all work will be initially done on Linux), and quotas in the FS so we don't need to waste ages running a silly quotacheck program at boot - the logging should avoid quotacheck the same way it avoids fsck! They want to be able to boot a system with 10gig of news spread over 4 hard drives with full quotas AFTER a power failure with less than 20 seconds for mounting file systems! Homepage of Enhanced FS is at . Contact Russell Coker for more information. 99..88.. EEFFSS -- EExxtteenntt ffiilleessyysstteemm ((IIRRIIXX)) The Extent File System (efs) is Silicon Graphics' early block-device filesystem, widely used on pre-6.0 versions of IRIX. Since 6.0, xfs has been bundled with IRIX and users are being encouraged to migrate to xfs filesystems. IRIX support for efs will be read-only in versions of IRIX beyond 6.5, however efs is still very much in use on SGI software distribution CDs. There are two kernel modules for linux to access EFS filesystem. +o Homepage: +o Download: +o Author: Al Smith +o License: GPL +o Access: Read-only The efs kernel module is an implementation of the extent file system for linux 2.2 kernels. An efs implementation (efsmod-0.6.tar.gz) was originally written for 1.x kernels by Christian Vogelgsang. In this implementation the code has undergone a complete rewrite and is also endian-clean. To use the efs module, you will need to have at least a 2.2 kernel. To mount IRIX CDs, your CD-ROM will need to be able to cope with 512-byte blocks. This version of efs contains support for hard-disk partitions, and also contains a kernel patch to allow you to install the efs code into your linux kernel tree. Handling of large files has also been vastly improved. Original efsmod is also available: +o Homepage: +o Download: +o Author: Christian Vogelgsang +o License: GPL +o Access: Read-only Efs-mod 0.6 is original EFS read/only module for Linux. Version 0.6 finished but Project frozen due to lack of time and information for implementing the write part. Useful links: +o IRIX EFS filesystem brief description: 99..99.. FFFFSS -- BBSSDD FFaasstt ffiilleessyysstteemm This is native filesystem for most BSD unixes (FreeBSD, NetBSD, OpenBSD, Sun Solaris, ...). 99..1100.. GGPPFFSS -- GGeenneerraall PPaarraalllleell FFiilleessyysstteemm This is a UNIX(tm) operating system style file system designed for the RS/6000 SP(tm) server. It allows applications on multiple nodes to share file data. GPFS supports very large file systems and stripes data across multiple disks for higher performance. GPFS is based on a shared disk model which provides lower overhead access to disks not directly attached to the application nodes and uses a distributed locking protocol to provide full data coherence for access from any node. It offers many of the standard AIX(tm) file system interfaces allowing most applications to execute without modification or recompiling. These capabilities are available while allowing high speed access to the same data from all nodes of the SP system, and providing full data coherence for operations occurring on the various nodes. GPFS attempts to continue operation across various node and component failures assuming that sufficient resources exist to continue. +o 99..1111.. HHFFSS -- HHPP--UUXX HHii ppeerrffoorrmmaannccee ffiilleessyysstteemm This is the second hfs that appears in this howto. It is used in older HP-UX versions. 99..1122.. HHTTFFSS -- HHiigghh tthhrroouugghhppuutt ffiilleessyysstteemm Useful links: +o SCO OpenServer 5 filesystems whitepaper: Read/Write ccoommmmeerrcciiaall driver available from CrosStor: +o Download: +o License: Commercial? +o Access: Read/Write 99..1133.. JJFFSS -- JJoouurrnnaalleedd ffiilleessyysstteemm ((HHPP--UUXX,, AAIIXX,, OOSS//22 WWaarrppSSeerrvveerr 55)) 99..1144.. LLFFSS -- LLiinnuuxx lloogg ssttrruuccttuurreedd ffiilleessyysstteemm Linux Log structured filesystem implementation: +o Homepage: +o Download: ? +o Author: Christian Czezatke +o License: ? +o Access: ? The goal of the project is to implement a log-structured file system within the Linux 2.2.x kernels. dtfs has a filesystem- independent core that provides general services required for a log- structured file system and uses a "traditional" file system implementation to do the actual filesystem/VFS operations. +o - The kfs Homepage Cornelius "Kees" Cook has started a Linux Log--Structured Filesystem project before dtfs came to live. +o - Another (death) LFS implementation ;-) +o - Margo Seltzer's LFS page 99..1155.. MMFFSS -- MMaacciinnttoosshh ffiilleessyysstteemm MFS is original Macintosh filesystem. It has been replaced by HFS / HFS+. 99..1166.. MMiinniixx ffiilleessyysstteemm This is Minix native filesystem. It was also used in first versions of Linux. 99..1177.. NNWWFFSS -- NNoovveellll NNeettWWaarree ffiilleessyysstteemm NWFS is native in Novell NetWare OS. It is modified FAT-based filesystem. Two variants of this filesystem exists. 16bit NWFS 286 is used by NetWare 2.x, NetWare 3.x, 4.x and 5 uses 32bit NWFS 386. 99..1177..11.. NNeettWWaarree ffiilleessyysstteemm // 228866 99..1177..22.. NNeettWWaarree ffiilleessyysstteemm // 338866 99..1188.. NNSSSS -- NNoovveellll SSttoorraaggee SSeerrvviicceess This is a new 64bit ``journaling'' filesystem using a ``balanced tree'' algorithms. It is used in Novell NetWare 5. +o - NSS Whitepaper 99..1199.. OODDSS -- OOnn DDiisskk SSttrruuccttuurree ffiilleessyysstteemm This is OpenVMS and VMS native filesystem. 99..2200.. QQNNXX ffiilleessyysstteemm This filesystem is used in QNX. Two major filesystem version exists, version 2 is used by QNX 2 and version 4 by QNX 4. QNX 4 doesn't support version 2 and vice versa. QNX4 filesystem is now accessible from Linux 2.1.x+. Say "Y"es to 'QNX filesystem support'; +o Download: In the kernel ;) +o Author: Frank Denis (maintainer), Richard Frowijn +o License: GPL +o Access: Read (except for multi-extents files), Write (experimental) Driver for the QNX 4 filesystem. 99..2211.. RReeiisseerr ffiilleessyysstteemm Reiserfs is a file system using a variant on classical balanced tree algorithms. The results when compared to the ext2fs conventional block allocation based file system running under the same operating system and employing the same buffering code suggest that these algorithms are more effective for large files and small files not near node size in time performance, become less effective in time performance and more significantly effective in space performance as one approaches files close to the node size, and become markedly more effective in both space and time as file size decreases substantially below node size (4k), reaching order of magnitude advantages for file sizes of 100bytes. The improvement in small file space and time performance suggests that we may now revisit a common OS design assumption that one should aggregate small objects using layers above the file system layer. Useful links: +o Reiser fs homepage 99..2222.. RRFFSS ((CCDD--RROOMM FFiilleessyysstteemm)) Sony's incremental packet-writing filesystem. 99..2233.. RRoommFFSS -- RRoomm ffiilleessyysstteemm Author of Linux RomFS implemplementation is Janos Farkas For more information see //uussrr//ssrrcc//lliinnuuxx//DDooccuummeennttaattiioonn//ffiilleessyysstteemmss//rroommffss..ttxxtt file. 99..2244.. SSFFSS -- SSeeccuurree ffiilleessyysstteemm ?? ?? 99..2255.. SSppiirraalloogg ffiilleessyysstteemm ((OOppeennVVMMSS)) Spiralog is a 64bit high-performance filesystem for the OpenVMS. The Spiralog combines ``log-structured'' technology with more traditional ``B-tree'' technology to provide a general abstraction. The B-tree mapping mechanism uses write-ahead logging to give stability and recoverability guarantees. Spiralog-related links at Digital: +o - Spiralog File System for OpenVMS Alpha +o - Overview of the Spiralog File System +o - Design of the Server for the Spiralog File System 99..2266.. SSyysstteemm VV aanndd ddeerriivveedd ffiilleessyysstteemmss Homepage of System V Linux project is at . 99..2266..11.. AAFFSS -- AAcceerr FFaasstt FFiilleessyysstteemm The Acer Fast Filesystem is used on SCO Open Server. It is similar to the System V Release 4 filesystem, but it is using bitmaps instead of chained free-list of blocks. 99..2266..22.. EEAAFFSS -- EExxtteennddeedd AAcceerr FFaasstt FFiilleessyysstteemm The AFS filesystem can be 'extended' to handle file names up to 255 characters, but directories entries still have 14-char names. This filesystem type is used on SCO Open Server and called EAFS. 99..2266..33.. CCoohheerreenntt ffiilleessyysstteemm 99..2266..44.. SS55 This filesystem is used in UnixWare. It's probably SystemV compatible, but I haven't verified it yet. For more information see . 99..2266..55.. SS5511KK -- SSyysstteemmVV 11KK 99..2266..66.. VVeerrssiioonn 77 ffiilleessyysstteemm This filesystem type is used on Version 7 Unix for PDP-11 machines. 99..2266..77.. XXeenniixx ffiilleessyysstteemm 99..2277.. TTeexxtt -- ((PPhhiilliippss'' CCDD--RROOMM FFiilleessyysstteemm)) Philips' standard for encoding disc and track data on audio CDs. 99..2288.. UUDDFF -- UUnniivveerrssaall DDiisskk FFoorrmmaatt ((DDVVDD--RROOMM ffiilleessyysstteemm)) There is a Linux UDF filesystem driver: +o Homepage: +o Download: +o Author: ? +o License: GPL +o Access: Read-only 99..2299.. UUFFSS Useful links: +o - Implementation of write-clustering for Sun's UFS 99..3300.. VVxxFFSS -- VVeerriittaass ffiilleessyysstteemm ((HHPP--UUXX,, SSCCOO UUnniixxWWaarree,, SSoollaarriiss)) This is Journaling filesystem used in HP-UX, SCO UnixWare and Solaris. VxFS related links: +o - Veritas Inc. +o - UnixWare 7 documentation. I (mhi) am working on VxFS r/o filesystem driver for Linux. It is not usable yet, but you can mail me to get more information. 99..3311.. XXFFSS -- EExxtteennddeedd ffiilleessyysstteemm ((IIRRIIXX)) XFS(tm) is the next-generation file system for Silicon GraphicsTM systems, from desktop workstations to supercomputers. XFS provides full 64-bit file capabilities that scale easily to handle extremely large files and file systems that grow to 1 terabyte. The XFS file system integrates volume management, guaranteed rate I/O, and ``journaling'' technology for fast, reliable recovery. File systems can be backed up while still in use, significantly reducing administrative overhead. XFS is designed for a very high performance; sustained throughput in excess of 300MB per second has been demonstrated on CHALLENGE systems. The XFS file system scales in performance to match the CHALLENGE MP architecture. Traditional files, directories, and file systems have reduced performance as they grow in size. With the XFS file system, there is no performance penalty. For example, XFS directories have been tested with up to 32 million files in a single directory. XFS is a journalled file system. It logs changes to the inodes, directories and bitmaps to the disk before the original entries are updated. Should the system crash before the updates are done they can be recreated using the log and updated as intended. XFS uses a space manager to allocate disk space for the file system and control the inodes. It uses a namespace manager to control allocation of directory files. These managers use B-tree indexing to store file location information, significantly decreasing the access time needed to retrieve file information. Inodes are created as needed and are not restricted to a particular area on a disk partition. XFS tries to position the inodes close to the files and directories they reference. Very small files, such as symbolic links and some directories, are stored as part of the inode, to increase performance and save space. Large directories use B-tree indexing within the directory file to speed up directory searches, additions and deletions. Useful XFS links: +o XFS whitepaper XFS Linux port covered by the GNU General Public License is available from SGI Inc.: +o Homepage: ? +o Download: ? +o Author: SGI Inc., +o License: GPL +o Access: Read-write 99..3322.. XXiiaa FFSS This filesystem was developed to replace old Minix filesystem in Linux. Author of this fs is Franx Xia 1100.. AAppppeennddiixx 1100..11.. NNeettwwoorrkk ffiilleessyysstteemmss This HOWTO is not about Network filesystems, but I should mention them. There is a brief list of some which I know: 1100..11..11.. AAFFSS -- AAnnddrreeww FFiilleessyysstteemm 1100..11..22.. CCOODDAA 1100..11..33.. NNFFSS -- NNeettwwoorrkk ffiilleessyysstteemm ((UUnniixx)) 1100..11..44.. NNCCPP -- NNeettWWaarree CCoorree PPrroottooccooll ((NNoovveellll NNeettWWaarree)) 1100..11..55.. SSMMBB -- SSeessssiioonn MMeessssaaggee BBlloocckk ((WWiinnddoowwss 33..xx//99xx//NNTT)) 1100..22.. EEnnccrryypptteedd ffiilleessyysstteemmss 1100..22..11.. CCFFSS +o Homepage: ? +o Download: ? +o Author: Matt Blaze . +o License: ? +o Access: Read/Write, using DES/3DES. CFS pushes encryption services into the Unix(tm) file system. It supports secure storage at the system level through a standard Unix file system interface to encrypted files. Users associate a cryptographic key with the directories they wish to protect. Files in these directories (as well as their pathname components) are transparently encrypted and decrypted with the specified key without further user intervention; cleartext is never stored on a disk or sent to a remote file server. CFS employs a novel combination of DES stream and codebook cipher modes to provide high security with good performance on a modern workstation. CFS can use any available file system for its underlying storage without modification, including remote file servers such as NFS. System management functions, such as file backup, work in a normal manner and without knowledge of the key. 1100..22..22.. TTCCFFSS +o Homepage: ? +o Download: ? +o Author: ? +o License: ? +o Access: ? ? 1100..33.. WWrriittiinngg yyoouurr oowwnn ffiilleessyysstteemm ddrriivveerr 1100..33..11.. DDOOSS I haven't see yet any good page about writing DOS filesystem drivers (Network redirectors) on the net. The best source is Ralf Brown's interrupt list and ``iHPFS'' source code. 1100..33..22.. OOSS//22 +o +o - 32 bits OS/2 device driver and IFS support. Provides 32 bits kernel services (DevHelp) and utility functions to 32 bits OS/2 ring 0 code (device drivers and installable file system drivers). 1100..33..33.. WWiinnddoowwss NNTT For more information about writing FS drivers for Windows NT see by . 1100..44.. RReellaatteedd ddooccuummeennttss +o - good page about filesystems +o - Linux overlay filesystem by . +o - Linux trustees +o - Transparent Cryptography Filesystem +o - Large file summit - attacks the problem of 2gig+ of file in a 32bit computer +o - The CODA project (a distributed file system based on AFS) +o - LFS related papers +o - Linux Kernel Hacker's guide +o - Large disk HOWTO +o - The Linux devfs +o - The Global File System (GFS) +o - The Toronto Virtual Filesystem/2. +o Dynamic RAM drive IFS driver for OS/2 +o - UnixWare and SCO Unix documentation online +o - UnixWare 7 documentation online +o - Inside OS/2 LAN Server 4.0 +o - Linux UserFS, it allows you to write a Linux process which implements a filesystem.