From 827728331b5598226a0486724b378b563f5b4966 Mon Sep 17 00:00:00 2001 From: gferg <> Date: Sat, 27 Jan 2007 21:53:35 +0000 Subject: [PATCH] updated --- LDP/howto/linuxdoc/Filesystems-HOWTO.sgml | 5855 +++++++++++---------- 1 file changed, 2949 insertions(+), 2906 deletions(-) diff --git a/LDP/howto/linuxdoc/Filesystems-HOWTO.sgml b/LDP/howto/linuxdoc/Filesystems-HOWTO.sgml index db1d1cb9..34e19317 100644 --- a/LDP/howto/linuxdoc/Filesystems-HOWTO.sgml +++ b/LDP/howto/linuxdoc/Filesystems-HOWTO.sgml @@ -1,2906 +1,2949 @@ - - -
- - - -Filesystems HOWTO -<author>Martin Hinner <<htmlurl url="mailto:mhi@penguin.cz" - name="mhi@penguin.cz">> -<date>Version 0.7.5, 22 August 2000 -<abstract> -This small HOWTO is about filesystems and accessing filesystems. It is not -Linux- or Unix-related document as you probably expect. You can find there -also a lot of interesting information about non-Unix (file)systems, but Unix -is my primary interest :-) -</abstract> - -<!-- Table of contents --> -<toc> - -<!-- Begin the document --> - -<sect>Introduction<p> - -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. -<p> - -Before you read this HOWTO it's recommended to read -<htmlurl url="mailto:sgjoen@nyx.net" name="Stein Gjoen's"> -Disk-HOWTO (you can obtain it from <url url="http://sunsite.unc.edu/LDP/HOWTO/"> -). <p> - -This HOWTO can be obtained from <url url="http://penguin.cz/~mhi/fs/"> or -<url url="http://metalab.unc.edu/filesystems/howto/">.<p> - -If you are Japanese user, you might be interested that -<htmlurl url="mailto:fujiwara@linux.or.jp" name="FUJIWARA Teruyoshi"> -translated this HOWTO to Japanese. -It is available at -<url url="http://www.linux.or.jp/JF/JFdocs/Filesystems-HOWTO.html">. -SGML source file can be downloaded from -<url url="ftp://ftp.linet.gr.jp/pub/JF/sgml/Filesystems-HOWTO.sgml.gz">. - - -<!-- ##################################################################### --> - -<sect1>Copyright<p> - -<bf>The Filesystems HOWTO, Copyright (c) 1999 Martin Hinner -<<htmlurl url="mailto:mhi@penguin.cz" name="mhi@penguin.cz">>. -</bf> - -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.<p> - -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.<p> - -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.<p> - -<!-- ##################################################################### --> - -<sect1> Filesystems mailing-list<p> -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 -<<htmlurl url="mailto:majordomo@penguin.cz" name="majordomo@penguin.cz">> -and in the BODY (not the subject) of the email message put (without quotes): -"<bf>subscribe fs-l</bf>".<p> - -<sect2>Linux kernel filesystems mailing-list<p> -To join Linux kernel filesystems mailing list -<htmlurl url="mailto:linux-fsdev@vger.rutgers.edu" -name="linux-fsdev@vger.rutgers.edu">, -send e-mail to -<htmlurl url="mailto:listserv@vger.rutgers.edu" -name="listserv@vger.rutgers.edu">. Put <tt>"subscribe linux-fsdev"</tt> -in message body. -<p> - -<sect2>FreeBSD filesystems mailing-list<p> -To join techical FreeBSD filesystems mailing list -<htmlurl url="mailto:freebsd-fs@FreeBSD.org" name="freebsd-fs@FreeBSD.org">, -send e-mail to -<htmlurl url="mailto:majordomo@FreeBSD.org" name="majordomo@FreeBSD.org">. Put -<tt>"subscribe freebsd-fs"</tt> in message body. -<p> - -<!-- ##################################################################### --> - -<sect1> Filesystems collection at metalab.unc.edu<p> -Filesystems collection is FTP/WWW site providing useful information about -filesystems and filesystem-related programs and drivers. It lives at -<url url="http://metalab.unc.edu/filesystems/">, or FTP-only at -<url url="ftp://metalab.unc.edu/pub/docs/filesystems/">. - -<!-- ##################################################################### --> - -<sect1>Credits<p> - -The original "Filesystems access HOWTO" was written by Georgatos Photis -(see his homepage at <url url="http://students.ceid.upatras.gr/~gef/">). -This HOWTO contains a lot of information from his webpage. Thanks, Gef. -<p> - -FUJIWARA Teruyoshi <fujiwara@linux.or.jp> translated this HOWTO -to Japanese. -<p> - -Other people who have contributed or helped me (directly or indirectly) -with this HOWTO are, in alphabetical order: -<itemize> - <item> Mariusz Borkowski <borkowsm@ii.pw.edu.pl> - ISO9660/RR info - <item> Remy Card <card@masi.ibp.fr> - Ext2 filesystem introduction - <item> Peter A. Dinda <pdinda@cs.cmu.edu> - HFS filesystem description - <item> Alfonso De Gregorio <adg@speedcom.it> - TCFS filesystem info - <item> Radek Machacka <radekm@sco.com> - Thanks for SCO UnixWare - and SCO OpenServer - <item> Andrey Shedel <andreys@cr.cyco.com> - Misc. updates - <item> Peter Todd <retep2@home.com> - SFS filesystem info - <item> Theodore Ts'o <tytso@mit.edu> - Ext2 filesystem introduction - <item> Stephen Tweedie <sct@dcs.ed.ac.uk> - Ext2 filesystem introduction -</itemize> -Many thanks to the above people. If I have forgotten anyone, please let me know. - -<!-- ##################################################################### --> - -<sect1>Filesystems accessibility map<p> -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.<p> -<bf>YOU SEE THAT THIS `MAP' IS NOT STILL COMPLETE. -I WILL TRY TO FINISH IT IN THE NEAR FUTURE.</bf> - - -<!-- ---------------------------- --> -<bf>FreeBSD:</bf> -<ref name="BSD FFS" id="ffs"> | -<ref name="Ext2" id="ext2"> | -<ref name="HPFS" id="hpfs_freebsd"> | -<ref name="NTFS" id="ntfs_freebsd"> -<p> - -<!-- ---------------------------- --> -<bf>Linux:</bf> -<ref name="AFFS" id="affs">| -<ref name="BeFS" id="befs_linux">| -<ref name="BFS" id="bfs_linux">| -<ref name="Ext2 FS" id="ext2">| -<ref name="BSD FFS" id="ffs">| -<ref name="HPFS" id="hpfs_linux">| -<ref name="Qnx4 FS" id="qnx4">| -<ref name="Xia" id="xia"> -<P> - -<!-- ---------------------------- --> -<bf>NetBSD:</bf> -<ref name="BSD FFS" id="ffs"> | -<ref name="FAT12/16" id="fat"> | -<ref name="ISO9660" id="iso9660"> -<P> - -<!-- ---------------------------- --> -<bf>NetWare 2.x:</bf> -<ref name="NWFS-286" id="nwfs286"> -<P> - -<!-- ---------------------------- --> -<bf>NetWare 3.x, 4.x:</bf> -<ref name="NWFS-386" id="nwfs386"> | -<ref name="ISO9660" id="iso9660"> -<P> - -<!-- ---------------------------- --> -<bf>NetWare 5.x:</bf> -<ref name="NWFS-386" id="nwfs386"> | -<ref name="NSS" id="nss"> | -<ref name="ISO9660" id="iso9660"> -<P> - -<!-- ---------------------------- --> -<bf>OpenBSD:</bf> -<ref name="BSD FFS" id="ffs"> | -<ref name="FAT12/16" id="fat"> -<P> - -<!-- ---------------------------- --> -<bf>OS/2:</bf> -<ref name="Ext2 FS" id="ext2_os2"> | -<ref name="FAT12/16/32" id="fat"> | -<ref name="HPFS" id="hpfs"> | -<ref name="HPFS" id="hpfs"> | -<ref name="ISO 9660" id="iso9660"> | -<ref name="JFS" id="jfs"> | -<ref name="VFAT" id="vfat"> -<P> - -<!-- ---------------------------- --> -<bf>QNX 4:</bf> -<ref name="FAT12/16" id="fat"> | -<ref name="ISO 9660" id="iso9660"> | -<ref name="Qnx4 FS" id="qnx4"> -<P> - -<!-- ---------------------------- --> -<bf>SCO OpenServer:</bf> -<ref name="AFS" id="afs">| -<ref name="DTFS" id="dtfs">| -<ref name="EAFS" id="eafs">| -<ref name="HTFS" id="htfs">| -<ref name="ISO 9660" id="iso9660"> | -<ref name="S51K" id="s51k"> -<p> - -<!-- ---------------------------- --> -<bf>SCO UnixWare:</bf> -<ref name="BFS" id="bfs">| -<ref name="DTFS" id="dtfs">| -<ref name="ISO 9660" id="iso9660"> | -<ref name="System V" id="s5">| -<ref name="VxFS" id="vxfs"> -<p> - -<sect1>Introduction to contiguous allocation filesystems -<label id="contiguous"><p> - - -Some contiguous filesystems: -<ref id="bfs" name="BFS">, -<ref id="iso9660" name="ISO9660 and extensions">. - -<sect1>Introduction to linked-list allocation filesystems<p> - -<sect1>Introduction to FAT-based filesystems<p> -(todo) - -Some FAT filesystems: -<ref id="fat" name="FAT12/16/32, VFAT"> and -<ref id="nwfs" name="NetWare filestem">. - -<sect1>Introduction to Inode filesystems<p> -(todo) - -<sect1>Introduction to extent filesystems<p> -(todo) - -Some 'extent' filesystems: -<ref id="efs" name="EFS"> and -<ref id="vxfs" name="VxFS">. - -<sect1>Introduction to filesystems using balanced trees<label id="btree"><p> -(todo) - -Some filesystems which use B+ trees: -<ref id="hfs" name="HFS">, -<ref id="nss" name="NSS">, -<ref id="reiserfs" name="Reiser FS"> and -<ref id="spiralog" name="Spiralog filesystem">. - -<sect1>Introduction to logging/journaling filesystems<label id="journal"><p> - -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. -<p> - -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.<p> - -Some journaling filesystems: -<ref id="befs" name="BeFS">, -<ref id="htfs" name="HTFS">, -<ref id="jfs" name="JFS">, -<ref id="nss" name="NSS">, -<ref id="spiralog" name="Spiralog filesystem">, -<ref id="vxfs" name="VxFS"> and -<ref id="xfs" name="XFS">. - -<sect1>Other filesystem features<label id="other_features"><p> - -<sect2>Quota<label id="quota"><p> - -<sect2>Snapshot<label id="snapshot"><p> - -<sect2>ACLs<label id="acl"><p> - -<!-- ##################################################################### --> - -<sect>Volumes<p> - -<!-- ##################################################################### --> - -<sect1>PC Partitions<p> - -<itemize> - <item> <url url="http://www.win.tue.nl/~aeb/partitions/"> - Partition types document by Andries Brouwer <<htmlurl - name="aeb@cwi.nl" url="mailto:aeb@cwi.nl">> -</itemize> - -<sect2>GNU parted<p> -<itemize> - <item> Homepage: <url url="http://www.gnu.org/software/parted"> - <item> Download: <url url="ftp://ftp.gnu.org/gnu/parted/"> - <item> Authors: Andrew Clausen <<htmlurl - url="mailto:clausen@gnu.org" - name="clausen@gnu.org">>, - Lennert Buytenhek <<htmlurl - url="mailto:buytenh@dsv.nl" - name="buytenh@dsv.nl">> and - Matt Wilson <<htmlurl - url="mailto:msw@redhat.com" - name="msw@redhat.com">>. - <item> Bug reports: <<htmlurl - url="mailto:bug-parted@gnu.org" - name="bug-parted@gnu.org">>, - <item> Access: varies for each filesystem, see below. - <item> License: GPL -</itemize> -GNU Parted is a program for creating, destroying, resizing, checking and -copying partitions, and the filesystems on them. -<p> -This is useful for creating space for new operating systems, reorganising -disk usage, copying data between hard disks, and "disk imaging" - replicating -installations over many computers. -<p> - -Parted has support for these operations: -<verb> -Filesystem detect create resize copy check -ext2 * * *1 *2 *3 -fat * * *4 *4 * -linux-swap * * * * * -</verb> - -<bf>NOTES:</bf><p> -(1) The start of the partition must stay fixed for ext2.<p> - -(2) The partition you copy to must be bigger (or exactly the same size) -as the partition you copy from.<p> - -(3) 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 are any errors in the file -system (and the vast majority of errors in general).<p> - -(4) The size of the new partition, after resizing or copying, is restricted -by the cluster size for fat (mainly affects FAT16). This is worse than you -think, because you don't get to choose your cluster size (it's a bug in -Windows, but you want compatibility, right?).<p> - - So, in practise, you can always shrink your partition (because Parted -can shrink the cluster size), but you may not be able to grow the partition -to the size you want. If you don't have any problems with using FAT32, you -will always be able to grow the partition to the size you want. -<p> - Summary: you can always shrink your partition. If you can't use -FAT32 for some reason, you may not be able to grow your partition. - -<sect2>Repairing corrupted partition table<p> - -<sect3> Fixdisktable<p> -<itemize> - <item> Homepage: <url url="http://bmrc.berkeley.edu/people/chaffee/fat32.html"> - <item> Download: ? - <item> Author: ? - <item> Access: ? - <item> License: ? -</itemize> -This is a utility that handles ext2, FAT, NTFS, ufs, BSD disklabels -(but not yet old Linux swap partitions); it actually will rewrite -the partition table, if you give it permission. <p> - -<sect3> gpart<p> -<itemize> - <item> Homepage: <url url="http://home.pages.de/~michab/gpart/"> - <item> Download: ? - <item> Author: ? - <item> Access: ? - <item> License: ? -</itemize> -GPART is a utility -that handles ext2, FAT, Linux swap, HPFS, NTFS, FreeBSD and -Solaris/x86 disklabels, minix, reiser fs; it prints a proposed -contents for the primary partition table, and is well-documented. - -<sect3> rescuept<p> -<itemize> - <item> Homepage: util-linux ? - <item> Download: ? - <item> Author: ? - <item> Access: ? - <item> License: ? -</itemize> -Recognizes ext2 superblocks, -FAT partitions, swap partitions, and extended partition tables; -it may also recognize BSD disklabels and Unixware 7 partitions. -It prints out information that can be used with fdisk or sfdisk -to reconstruct the partition table. -It is in the non-installed part of the util-linux distribution. - -<sect3> findsuper<p> -<itemize> - <item> Homepage: e2progs ? - <item> Download: ? - <item> Author: ? - <item> Access: ? - <item> License: ? -</itemize> -Small utility that finds blocks with the ext2 -superblock signature, and prints out location and some info. -It is in the non-installed part of the e2progs distribution. - - -<!-- ##################################################################### --> - -<sect1>Other partitions<p> -Because I use <bf>only</bf> Intel x86 machines, any contributions (or non-x86 -machine donation ;-) ) are <bf>very</bf> welcome. If you can provide any useful -information, don't hesitate to mail <htmlurl url="mailto:mhi@penguin.cz" -name="me">.<p> - -<sect2>ADFS partitions<p> - -<sect2>Amiga partitions<p> - -<sect2>ATARI partitions<p> - -<sect2>Macintosh partitions<p> - -<sect2>OSF partitions<p> - -<sect2>Sun partitions<p> - -<sect2>Ultrix partitions<p> - -<!-- ##################################################################### --> - -<sect1>Unix disklabels<p> -(todo) - -<sect2>BSD disklabel<p> -(todo) - -<sect2>UnixWare disklabel<p> -UnixWare VTOC (Volume Table Of Contents) divides disk partition to 16 logical -partitions. Linux kernel supports UnixWare VTOC, you must check -"UnixWare slices support (EXPERIMENTAL)" and recompile your kernel. -Another way of reading UnixWare disklabel is using GPL port of prtvtoc(1) -command, which is in <ref id="vxtools" name="vxtools"> package. - -<sect2>SCO OpenServer disklabel<p> -(todo) - -<sect2>Sun Solaris disklabel<p> -(todo) - -<!-- ##################################################################### --> - -<sect1>Windows NT volumes<p> - -<itemize> - <item> Homepage: <url url="http://www.penguin.cz/~mhi/fs/vol/"> - <item> Author: Martin Hinner <<htmlurl - url="mailto:mhi@penguin.cz" - name="mhi@penguin.cz">> - <item> Access: Read-only, supports OS/2 Volumes, Windows NT Stripe sets and - volumes. - <item> Download: <url url="ftp://ftp.penguin.cz/pub/users/mhi/vol/"> - <item> License: GPL -</itemize> -This linux-kernel driver allows you to access and mount linear and stripe set -volumes. - -<sect2>Repairing "fault tolerant" NTFS disks using FTEdit -<label id="ntfs_ftedit"><p> -<itemize> - <item> Homepage: ? MS ARTICLE ID: Q131658 - <item> Download: <url url="ftp://ftp.rhrz.uni-bonn.de/pub/pc/winnt/intel/ftedit.zip"> - <item> Author: Microsoft Corp. - <item> License: ? -</itemize> -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. - - - -<!-- ##################################################################### --> - -<sect1>MD - Multiple Devices driver for Linux<p> - -<itemize> - <item> Homepage:? - <item> Author: Marc Zyngier <<htmlurl - url="mailto:maz@wild-wind.fr.eu.org" - name="maz@wild-wind.fr.eu.org">> - <item> Access: Read-write, supports linear mode, RAID-1, RAID-4 and RAID-5. - <item> Download: Linux kernel, tools are available at - <url url="ftp://sweet-smoke.ufr-info-p7.ibp.fr/public/Linux/"> - <item> License: GPL -</itemize> - 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. -<p> - -<!-- ##################################################################### --> - -<sect1>LVM - Logical Volume Manager (HP-UX LVM?)<label id="lvm"><p> -Linux implementation is available here: - -<itemize> - <item> Homepage: <url url="http://linux.msede.com/lvm/"> - <item> Author: Heinz Mauelshagen <<htmlurl - url="mailto:mauelsha@ez-darmstadt.telekom.de" - name="mauelsha@ez-darmstadt.telekom.de">> - <item> Access: ? - <item> Download: <url url="ftp://linux.msede.com/lvm/v0.6/"> - <item> License: GPL -</itemize> - -<!-- ##################################################################### --> - -<sect1>VxVM - Veritas Volume Manager<p><label id="vxvm"> -For more information about Veritas Volume Manager see -<url url="http://www.veritas.com/">. - -See also: <ref id="vxfs" name="VxFS (Veritas Journaling Filesystem)">. - -<!-- ##################################################################### --> - -<sect1>IBM OS/2 LVM<p> -Logical Volume Manager is available in OS/2 WarpServer 5. It allows you to -create linear volumes on several disks/partitions. Some people say that it's -compatible with IBM AIX Logical Volume Manager. <p> - -See also: <ref id="hpfs" name="HPFS">, <ref id="jfs" name="JFS"> - -<!-- ##################################################################### --> - -<sect1>StackVM<p> - -StackVM is CrosStor's volume manager. Using StackVM the -administrator can combine multiple physical disk slices into a single -logical device know as a vdisk. Vdisk is short for virtual disk. The -physical disks can be combined to form a concatenation, RAID 0 (stripe), -RAID 1 (mirror), RAID 4 or RAID 5. In addition a single disk partition can -be subdivided into multiple simple vdisks. For more information see CrosStor -homepage at <url url="http://www.crosstor.com/">. - -<!-- ##################################################################### --> - -<sect1>Novell NetWare volumes<label id="nwvol"><p> -NetWare volumes are used for NWFS-386 filesystem. - -<!-- ##################################################################### --> - -<sect>DOS FAT 12/16/32, VFAT<label id="fat"><label id="vfat"> -<label id="fat12"><label id="fat16"><label id="fat32"><p> - -<sect1>VFAT: Long filenames<p> -Windows 95/98 and Windows NT/2000 store long filenames on FAT in special -directory entries with set attributes <bf>ReadOnly</bf>, <bf>Hidden</bf>, -<bf>System</bf> and <bf>Volume</bf>, so if you access FAT volume from DOS -you don't see these "files". These special entries have this mad structure: - -<verb> -byte sequence number for slot -string(10) first 5 characters in name -byte attribute byte -byte always 0 -byte checksum for 8.3 alias -string(12) 6 more characters in name -word starting cluster number, 0 in long slots -string(4) last 2 characters in name -</verb> - -Problem occur when you delete or modify file with long name from system without -VFAT support, because only DOS 8+3 entry will be deleted or modified. Scandisk -from Windows 95/98 can repair this problem. -<p> - -<sect1>UMSDOS: Linux LFN/attributes on FAT filesystem<p> -Linux has it's own FAT extensions which gives you long filenames, permissions -and owners, links and special devices on FAT partition, called UMSDOS. -Each directory contains file named -<bf>"--linux-.---"</bf>. There are stored long names and other necessary -fields. For more information see file <bf>/usr/src/linux/Documentation/filesystems/umsdos.txt</bf>. Author of Linux umsdos driver is Jacques Gelinas -<<htmlurl url="mailto:jacques@solucorp.qc.ca" name="jacques@solucorp.qc.ca">> -and it is currently maintained by Matija Nalis -<<htmlurl url="mailto:mnalis@jagor.srce.hr" name="mnalis@jagor.srce.hr">>. -<p> - -<sect1>OS/2 Extended Attributes on FAT filesystems<p> -OS/2 Warp version 3,4 and 5 stores long filenames and extended attributes on FAT -volume in files "\ea data. sf" and "\wp root. sf" (both files are in root -directory of filesystem). AFAIK there is no known implementation of OS/2 EAs -for any other OS. If you can supply any information about EA structure, don't -hesitate to mail them to <htmlurl url="mailto:mhi@penguin.cz" name="me">. -<p> - -<sect1>Star LFN<p> -Star LFN is an emulator that allows programs, running under DOS 4.0 or -above, to use the long filename functions present in Windows'95 DOS -boxes. Currently, it can only read and write long filenames from and -into a system+hidden file, which means you can't either read or write -real Windows'95 long filenames. For more information see -<url url="http://sta.c64.org/starlfn.html">. -<p> - -<sect1>Accessing VFAT from OS/2 (VFAT-OS2) <label id="vfat_os2"><p> -<itemize> - <item> Homepage: <url url="http://www.dsteiner.com/products/software/os2/ifs.htm"> - <item> Author: Daniel Steiner <<htmlurl - url="mailto:info@dsteiner.com" - name="info@dsteiner.com">> - <item> Access: Read-Write, no EAs supported. - <item> Mirror: <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/"> - <item> License: GPL -</itemize> -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. - -<sect1>Accessing VFAT from DOS (LFNDOS driver) <label id="vfat_dos"><p> -Some people say that Microsoft has released a driver called LFNDOS that -provides the Microsoft Long Filename API under DOS. If you know where can this -driver be downloaded, send me e-mail please. - -<sect1>Accessing VFAT from DOS (Free LFNDOS driver) <label id="vfat_dos3"><p> -<itemize> - <item> Homepage: <url url="http://members.xoom.com/dosuser/"> - <item> Author: Chris Jones <<htmlurl - url="mailto:dosuser@bigfoot.com" - name="dosuser@bigfoot.com">> - <item> Access: Read-Write - <item> Mirror: <url url="http://www.simtel.net/pub/simtelnet/msdos/fileutil/lfnds106.zip"> - <item> License: Free, source code available -</itemize> -LFNDOS provides the Windows95 Long Filename (LFN) API to DOS programs. -It uses the same format for storing the -names on disk as Windows95 does, so you can view and use long filenames under -both systems interchangeably. It runs as a memory-resident program, and while resident requires about 60k of conventional memory. -<p> - -Under Windows95, a DOS program can use long filenames by calling a set -of interrupt functions, which Windows provides. For example, COMMAND.COM -will allow long filenames when run as a DOS Prompt from Windows, but not -if you restart in MS-DOS mode. Other programs such as EDIT.COM and all DJGPP -programs use long filenames if available. - -<sect1>Accessing VFAT from DOS (Odi's LFN tools) <label id="vfat_dos3"><p> -<itemize> - <item> Homepage: <url url="http://odi.webjump.com/"> - <item> Author: Ortwin Glueck <<htmlurl - url="mailto:glueck@freesurf.ch" - name="glueck@freesurf.ch">> - <item> Access: Read-Write, only DOS utilities - <item> Mirror: <url url="http://www.simtel.net/pub/simtelnet/msdos/fileutil/lfn141.zip"> - <item> License: ? -</itemize> -These tools provide easy file management under DOS with long filenames -created by Windows 95/98 on FAT32, FAT16 and FAT12 file systems. -Typing LDIR brings up the directory with its -long filenames. Copying a file with LCOPY preserves long filenames. -You can even create directories (LMD) with long names or rename files -(LREN) with long names. - - -<sect1>Accessing FAT32 from OS/2 (FAT32.IFS) <label id="fat32_from_os2"><p> -<itemize> - <item> Homepage: <url url="http://www.os2ss.com/information/kelder/index.html"> - <item> Author: Henks Kelder < <htmlurl url="mailto:hkelder@capgemini.nl" - name="hkelder@capgemini.nl"> > - <item> Access: Read-Write, long filenames, no EAs support. - <item> Download: <url url="http://www.os2ss.com/information/kelder/os2fat32.zip"> - <item> License: Free -</itemize> -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. - -<sect1>Accessing FAT32 from Windows NT 4.0 <label id="fat32_from_nt4"><p> -<itemize> - <item> Download: <url url="http://www.chat.ru/~ashedel/fat32/fastfat32.rar"> - <item> Author: Anonymous - <item> License: Free or GPL ? -</itemize> -FAT32 filesystem driver for NT 4.0 and NT 3.51. - - -<sect1>Accessing FAT32 from Windows NT 4.0 <label id="fat32_from_nt4_2"><p> -<itemize> - <item> Homepage: <url url="http://www.sysinternals.com/fat32.htm"> - <item> Author: Mark Russinovich <<htmlurl - url="mailto:mark@sysinternals.com" - name="mark@sysinternals.com">> and - Bryce Cogswell <<htmlurl - url="mailto:cogswell@winternals.com" - name="cogswell@winternals.com">>. - <item> Access: Read-only in free version, RW in commercial. - <item> Download: ? - <item> License: Free(read-only) or Commercial(read-write) -</itemize> -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. - -<sect1>Accessing Stac/Dblspaced/Drvspaced drives from Linux (DMSDOS) - <label id="dmsdos_from_linux"><p> -<itemize> - <item> Homepage: <url url="http://fb9nt.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/"> - <item> Author: Frank Gockel - <<htmlurl url="mailto:gockel@sent13.uni-duisburg.de" - name="gockel@sent13.uni-duisburg.de">> and - Pavel Pisa <<htmlurl url="mailto:pisa@cmp.felk.cvut.cz" - name="pisa@cmp.felk.cvut.cz">> - <item> Access: Stacker, Dblspace and Drvspace in Read-Write mode, - long filenames. - <item> Download: <url url="ftp://fb9nt.uni-duisburg.de/pub/linux/dmsdos/"> - <item> Freshmeat: Console/Filesystems - <item> License: GPL -</itemize> -DMSDOS reads and writes compressed DOS filesystems (CVF-FAT). The following -configurations are supported: -<itemize> - <item> DoubleSpace / DriveSpace (MS-DOS 6.x) - <item> DoubleSpace / DriveSpace (Windows 95) - <item> DriveSpace 3 (Windows 95 with Plus! pack) - <item> Stacker 3 - <item> Stacker 4 -</itemize> -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. - -<sect1>Accessing Dblspaced/Drvspaced drives from Linux (thsfs) - <label id="dblspace_from_linux"><p> -<itemize> - <item> Download: <url url="ftp://ftp.ai-lab.fh-furtwangen.de/pub/os/linux/local/thsfs.tgz"> - <item> Author: Thomas Scheuermann <<htmlurl - url="mailto:ths@ai-lab.fh-furtwangen.de" - name="ths@ai-lab.fh-furtwangen.de">> - <item> Access: Dblspace and Drvspace in Read-only mode. - <item> License: See copyright on files. Basically free -</itemize> - -<sect1>Fsresize - FAT16/32 resizer<label id="fsresize"><p> -<itemize> - <item> Homepage: <url url="http://www.alphalink.com.au/~clausen/fsresize/"> - <item> Author: Andrew Clausen <<htmlurl - url="mailto:clausen@alphalink.com.au" - name="clausen@alphalink.com.au">> - <item> Download: <url url="http://www.alphalink.com.au/~clausen/fsresize-0.8.tar.gz" - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1999/01/09/915912424.html" - name="Console/Filesystems"> - <item> Access: Read/Write, full FAT16/FAT32 support - <item> License: GPL -</itemize> -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. -<p> - -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. - - -<sect1>FIPS - FAT16 resizer<label id="fips"><p> -<itemize> - <item> Homepage: ? - <item> Author: Arno Schaefer <<htmlurl - url="mailto:schaefer@rbg.informatik.th-darmstadt.de" - name="schaefer@rbg.informatik.th-darmstadt.de">> - <item> Download: <url url="ftp://sunsite.unc.edu/pub/Linux/system/Install/fips01alpha.tar.z"> - <item> License: GPL -</itemize> - -<sect>High Performance FileSystem (HPFS)<label id="hpfs"><p> - -Good HPFS links: -<itemize> - <item> <url url="ftp://ftp.leo.org/pub/comp/os/os2/leo/doc/hpfsinf.zip"> - <item> <url url="ftp://hobbes.nmsu.edu/pub/os2/info/tips/hpfs.zip"> - <item> <url url="http://www.globalxs.nl/home/c/cyborg/index.html"> - - a good page about HPFS accessibility - <item> <url url="http://www-4.ibm.com/software/os/warp/warp-server/warp-server-adv/c2j.html"> - - IBM OS/2 Warp Server : Features & Benefits : File & Print -</itemize> - -<sect1>Accessing HPFS from DOS (iHPFS)<label id="ihpfs"><p> -<itemize> - <item> Homepage:<url url="http://www.student.nada.kth.se/~f96-bet/ihpfs/"> - <item> Author: Marcus Better <htmlurl url="mailto:Marcus.Better@abc.se" - name="Marcus.Better@abc.se"> - <item> Download: - <url url="http://www.student.nada.kth.se/~f96-bet/ihpfs/ihpfs128.zip"> - <item> Access: Read-only - <item> License: GPL -</itemize> - -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. -<p> - -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. - -<sect1>Accessing HPFS from DOS (hpfsdos)<label id="hpfs_from_dos5"><p> -<itemize> - <item> Homepage: ? - <item> Author: Robert Muchsel <<htmlurl - url="mailto:rmuchsel@iiic.ethz.ch" - name="rmuchsel@iiic.ethz.ch">> (this e-mail doesn't work) - <item> Access: Read-only - <item> License: Shareware ($23) -</itemize> - - -<sect1>Accessing HPFS from DOS (hpfsa)<label id="hpfs_from_dos2"><p> -<itemize> - <item> Homepage: <url url="http://www.student.informatik.th-darmstadt.de/~akinzler/"> - <item> Author: Andreas Kinzler <<htmlurl - url="mailto:akinzler@rbg.informatik.th-darmstadt.de" - name="akinzler@rbg.informatik.th-darmstadt.de">> - (this email doesn't work) - <item> Download: - <url url="ftp://ftp.cdrom.com/.1/os2/mdos/hpfsa102.zip"> - <item> Access: Read/Write - <item> License: Shareware ($40) -</itemize> - -<sect1>Accessing HPFS from DOS (amos)<label id="hpfs_from_dos3"><p> -<itemize> - <item> Homepage: ? - <item> Author: Allan Mertner <<htmlurl url="mailto:mertner@login.dknet.dk" - name="mertner@login.dknet.dk">> - (this email doesn't work) - <item> Download: <url url="ftp://hobbes.nmsu.edu/pub/dos/amos320.zip"> - <item> License: Shareware ($50) -</itemize> - -<sect1>Accessing HPFS from Linux<label id="hpfs_linux"><p> -<itemize> - <item> Homepage:<url url="http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi"> - <item> Download: - <url url="http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/hpfs-0.99b.tar.gz"> for 2.0 kernels; and - <url url="http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/hpfs-1.98b.tar.gz"> for 2.2 kernels - <item> Author: Mikulas Patocka - < <htmlurl url="mailto:mikulas@artax.karlin.mff.cuni.cz" - name="mikulas@artax.karlin.mff.cuni.cz"> > - <item> Access: Read-Write, extended attributes, long names. - <item> License: GPL -</itemize> -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 Server Advanced. <p> - -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). - -<sect1>Accessing HPFS from FreeBSD<label id="hpfs_freebsd"><p> -<itemize> - <item> Homepage: <url url="http://iclub.nsu.ru/~semen/"> - <item> Download: <url url="http://iclub.nsu.ru/~semen/hpfs/hpfs-0.3b.tar.gz"> - <item> Author: Semen A. Ustimenko - < <htmlurl url="mailto:semenu@FreeBSD.org" - name="semenu@FreeBSD.org"> > - <item> Access: Read/Only - <item> License: BSD -</itemize> -Driver allows to mount HPFS volume into Unix namespace. -ReadOnly access is only supported for now. - -<sect1>Accessing HPFS from Windows NT 3.5<label id="hpfs_from_nt"><p> -<itemize> - <item> Homepage:<url url="http://www.htc.net/~nbehnken/"> - <item> Download: - <url url="http://www.htc.net/~nbehnken/hpfs_nt.zip"> - <item> Author: Chris Behnken - < <htmlurl url="mailto:nbehnken@htc.net" - name="nbehnken@htc.net"> > - <item> License: Freeware -</itemize> -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. - -<sect1>Accessing HPFS from Windows NT 4<label id="hpfs_from_nt4"><p> -<itemize> - <item> Download: - <url url="ftp://hobbes.nmsu.edu/pub/windows/hpfsnt.zip"> - <item> Author: ? - <item> License: ? -</itemize> -HPFS driver for Windows NT 4.0 - - - -<sect>New Technology FileSystem (NTFS)<p> - -References: -<itemize> - <item> <url url="http://www.microsoft.com/msj/1198/ntfs/ntfstop.htm"> - NTFS 5 information - <item> Rajeev Nagar, - <htmlurl url="http://www.ora.com/catalog/wininternals/noframes.html" - name="Windows NT File System Internals"> (O'Reilly). - <item> Helen Custer, Inside the Windows NT File System, ISBN: 1-55615-660-X. - <item> NTFS documentation by Regis Duchesne - <<htmlurl url="mailto:regis@via.ecp.fr" name="regis@via.ecp.fr">>, - <url url="http://www.via.ecp.fr/~regis/ntfs.tar.bz2"> or - <url url="http://celine.via.ecp.fr/~regis/ntfs/new"> - <item> Microsoft TechNet, February 97, Windows NT Training: Support, NTFS - <item> <url url="http://www.stat.math.ethz.ch/~maechler/NTFS-docu"> -</itemize> - -<sect1>Accessing NTFS from DOS (NTFSDOS.EXE) -<label id="ntfs_from_dos"><p> -<itemize> - <item> Homepage: <htmlurl url="http://www.sysinternals.com/ntfs20.htm" - name="http://www.sysinternals.com/ntfs20.htm"> - <item> Authors: Mark Russinovich <<htmlurl - url="mailto:mark@sysinternals.com" - name="mark@sysinternals.com">> and - Bryce Cogswell <<htmlurl - url="mailto:cogswell@winternals.com" - name="cogswell@winternals.com">>. - <item> Access: Read-only, Long filenames under DOS 7 and Win9x. -</itemize> -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. - -<sect1>Accessing NTFS from DOS (ntpwd) -<label id="ntfs_from_dos2"><p> -<itemize> - <item>Homepage: <url url="http://www.esiea.fr/public_html/Christophe.GRENIER/"> - <item>Author: Grenier Christophe < - <htmlurl url="mailto:grenier@nef.esiea.fr" - name="grenier@nef.esiea.fr"> > - <item> Access: Read-only (rw experimental), long filenames supported, - no driver letter (dos tools) - <item> License: GPL -</itemize> - -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. - - -<sect1>Accessing NTFS from OS/2<label id="ntfs_from_os2"><p> -<itemize> - <item> Homepage: <url url="http://www.dsteiner.com/products/software/os2/ifs.htm"> - <item> Mirror: <url url="ftp://ftp-os2.nmsu.edu/pub/os2/system/drivers/filesys/ntfs_003.zip">, - <url url="ftp://ftp.leo.org/pub/comp/os/os2/leo/drivers/ifs"> - <item> Author: Daniel Steiner < <htmlurl - url="mailto:info@dsteiner.com" - name="info@dsteiner.com"> > - <item> Access: Read-only, Long filenames supported -</itemize> -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 -<ref id="vfat_os2" name="VFAT-OS2"> v0.05. - -<sect1>Accessing NTFS from Linux<label id="ntfs_from_linux"><p> -<itemize> - <item> Homepage: <url url="http://www.informatik.hu-berlin.de/~loewis/ntfs/"> - <item> Author: Martin von Löwis <htmlurl - url="mailto:loewis@informatik.hu-berlin.de" - name="loewis@informatik.hu-berlin.de"> - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1998/07/04/899562556.html" - name="Console/Filesystems"> - <item> Homepage: <url url="http://www.informatik.hu-berlin.de/~loewis/ntfs/ntfs-current.tgz"> - <item> Mirror: Included in official Linux kernel - <item> Access: RO, experimental RW, compression, no encryption - <item> License: GPL -</itemize> -Works both as a kernel driver, as well as a set of command line utilities. - -<sect1>Accessing NTFS from FreeBSD and NetBSD<label id="ntfs_freebsd"><p> -<itemize> - <item> Homepage: <url url="http://iclub.nsu.ru/~semen/ntfs/"> - <item> Author: Semen A. Ustimenko - <<url url="mailto:semenu@FreeBSD.org" - name="semenu@FreeBSD.org">> - <item> Download: As part of FreeBSD - (<url url="ftp://ftp.FreeBSD.org/pub/FreeBSD/">), - and NetBSD (<url url="ftp://ftp.NetBSD.org/pub/NetBSD/">) - <item> Mirror: Lookup for FreeBSD's and NetBSD's mirrors - <item> Access: Read + limited writing, doesn't support codepages - <item> License: BSD -</itemize> -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. - -<sect1>Accessing NTFS from BeOS<label id="ntfs_from_beos2"><p> -<itemize> - <item> Homepage: <url url="http://www.cs.tamu.edu/people/tkg0143/be/"> - <item> Author: Travis Geiselbrecht - < <htmlurl url="mailto:geist@tamu.edu" - name="geist@tamu.edu"> > - <item> Download: <url url="http://www.cs.tamu.edu/people/tkg0143/be/downloads/ntfs-0.05-x86-r4.zip"> - <item> Access: ? - <item> License: Free -</itemize> -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. <p> - -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. - -<sect1>Accessing NTFS from BeOS (another)<label id="ntfs_from_beos"><p> -<itemize> - <item> Homepage: <htmlurl url="http://www.sw.com.sg/solutions/ntfs-ro.shtml" - name="http://www.sw.com.sg/solutions/ntfs-ro.shtml"> - <item> Author: Standard & Western Software, - <htmlurl url="http://www.sw-soft.com" - name="http://www.sw-soft.com"> - <item> Download: <htmlurl - url="http://download.sw.com.sg/pub/Be/ntfs-rod-0302.tar.gz" - name="http://download.sw.com.sg/pub/Be/ntfs-rod-0302.tar.gz"> - <item> Access: Read-only. -</itemize> - - -<sect1>Repairing NTFS using NTFSDOS Tools<label id="ntfs_dostools"><p> -<itemize> - <item> Homepage: <url url="http://www.sysinternals.com/"> - <item> Author: Winternals Software <<htmlurl - url="mailto:info@winternals.com" - name="info@winternals.com">> - <item> Access: Read-Write: Copy and replace files. - <item> License: Commercial -</itemize> -An add-on to NTFSDOS that allows one to rename existing files, -or to overwrite a file with new data. Very limited functionality. - - -<sect1>Repairing NTFS using NTRecover <label id="ntfs_ntrecover"><p> -<itemize> - <item> Homepage: <url url="http://www.sysinternals.com/"> - <item> Author: Winternals Software <<htmlurl - url="mailto:info@winternals.com" - name="info@winternals.com">> - <item> Access: Freeware version is read-only, commercial version is read/write. - <item> License: Freeware read-only version, commercial read/write version -</itemize> -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. - -<sect>Extended filesystems (Ext, Ext2, Ext3) -<label id="ext"><label id="ext2"><label id="ext3"><p> -Extended filesystem (ext fs), second extended filesystem (ext2fs) -and third extended filesystem (ext3fs) were designed and implemented on -Linux by Rémy Card, Laboratoire MASI--Institut Blaise Pascal, -<<htmlurl url="mailto:card@masi.ibp.fr" name="card@masi.ibp.fr">>, -Theodore Ts'o, Massachussets Institute of Technology, -<<htmlurl url="mailto:tytso@mit.edu" name="tytso@mit.edu">> and -Stephen Tweedie, University of Edinburgh, -<<htmlurl url="mailto:sct@redhat.com" name="sct@redhat.com">> -<p> - -<itemize> - <item> <url url="http://web.mit.edu/tytso/www/linux/ext2.html"> - - The ext2 homepage. This is the primary source of information - about ext2. - <item> <url url="http://uranus.it.swin.edu.au/~jn/explore2fs/es2fs.htm"> - - Document about ext2fs from John Newbigin. - <item> <url url="http://www.ing.umu.se/~bosse/"> - Ext2fs_Rec (ext2 recognizer - for WinNT). -</itemize><p> - -<sect1>Extended filesystem (ExtFS)<p> -This is old filesystem used in early Linux systems. <p> - -<sect1>Second Extended Filesystem (Ext2 FS)<p> -The Second Extended File System is probably the most widely -used filesystem in the Linux community. It provides standard -Unix file semantics and advanced features. Moreover, thanks to -the optimizations included in the kernel code, it is robust and -offers excellent performance. -<p> - -Since Ext2fs has been designed with evolution in mind, it -contains hooks that can be used to add new features. Some -people are working on extensions to the current filesystem: -access control lists conforming to the Posix semantics, undelete, -and on-the-fly file compression. -<p> - -Ext2fs was first developed and integrated in the Linux -kernel and is now actively being ported to other operating -systems. An Ext2fs server running on top of the GNU Hurd has -been implemented. People are also working on an Ext2fs port in -the LITES server, running on top of the Mach microkernel -and in the VSTa operating system. Last, but not least, Ext2fs is an -important part of the Masix operating system, currently under -development by one of the authors. - -<sect2>Motivations<p> -The Second Extended File System has been designed and -implemented to fix some problems present in the first Extended -File System. Our goal was to provide a powerful filesystem, -which implements Unix file semantics and offers advanced -features. -<p> - -Of course, we wanted to Ext2fs to have excellent -performance. We also wanted to provide a very robust -filesystem in order to reduce the risk of data loss in -intensive use. Last, but not least, Ext2fs had to include -provision for extensions to allow users to benefit from new -features without reformatting their filesystem. -<p> - -<sect2>``Standard'' Ext2fs features<p> -The Ext2fs supports standard Unix file types: regular files, -directories, device special files and symbolic links. -<p> - -Ext2fs is able to manage filesystems created on really big -partitions. While the original kernel code restricted the -maximal filesystem size to 2 GB, recent work in the VFS layer -have raised this limit to 4 TB. Thus, it is now possible to use -big disks without the need of creating many partitions. -<p> - -Ext2fs provides long file names. It uses variable length -directory entries. The maximal file name size is 255 -characters. This limit could be extended to 1012 if needed. -<p> - -Ext2fs reserves some blocks for the super user -(<TT>root</TT>). Normally, 5% of the blocks are reserved. This -allows the administrator to recover easily from situations -where user processes fill up filesystems. -<p> - -<sect2>``Advanced'' Ext2fs features<p> -In addition to the standard Unix features, Ext2fs supports -some extensions which are not usually present in Unix -filesystems. -<p> - -File attributes allow the users to modify the kernel -behavior when acting on a set of files. One can set attributes -on a file or on a directory. In the later case, new files -created in the directory inherit these attributes. -<p> - -BSD or System V Release 4 semantics can be selected at mount -time. A mount option allows the administrator to choose the -file creation semantics. On a filesystem mounted with BSD -semantics, files are created with the same group id as their -parent directory. System V semantics are a bit more complex: if -a directory has the setgid bit set, new files inherit the group -id of the directory and subdirectories inherit the group id and -the setgid bit; in the other case, files and subdirectories are -created with the primary group id of the calling process. -<p> - -BSD-like synchronous updates can be used in Ext2fs. A mount -option allows the administrator to request that metadata -(inodes, bitmap blocks, indirect blocks and directory blocks) -be written synchronously on the disk when they are modified. -This can be useful to maintain a strict metadata consistency -but this leads to poor performances. Actually, this feature is -not normally used, since in addition to the performance loss -associated with using synchronous updates of the metadata, it -can cause corruption in the user data which will not be flagged -by the filesystem checker. -<p> - -Ext2fs allows the administrator to choose the logical block -size when creating the filesystem. Block sizes can typically be -1024, 2048 and 4096 bytes. Using big block sizes can speed up -I/O since fewer I/O requests, and thus fewer disk head seeks, -need to be done to access a file. On the other hand, big blocks -waste more disk space: on the average, the last block allocated -to a file is only half full, so as blocks get bigger, more -space is wasted in the last block of each file. In addition, -most of the advantages of larger block sizes are obtained by -Ext2 filesystem's preallocation techniques. -<p> - -Ext2fs implements fast symbolic links. A fast symbolic link -does not use any data block on the filesystem. The target name -is not stored in a data block but in the inode itself. This -policy can save some disk space (no data block needs to be -allocated) and speeds up link operations (there is no need to -read a data block when accessing such a link). Of course, the -space available in the inode is limited so not every link can -be implemented as a fast symbolic link. The maximal size of the -target name in a fast symbolic link is 60 characters. We plan -to extend this scheme to small files in the near future. -<p> - -Ext2fs keeps track of the filesystem state. A special field -in the superblock is used by the kernel code to indicate the -status of the file system. When a filesystem is mounted in -read/write mode, its state is set to ``Not Clean''. When it is -unmounted or remounted in read-only mode, its state is reset to -``Clean''. At boot time, the filesystem checker uses this -information to decide if a filesystem must be checked. The -kernel code also records errors in this field. When an -inconsistency is detected by the kernel code, the filesystem is -marked as ``Erroneous''. The filesystem checker tests this to -force the check of the filesystem regardless of its apparently -clean state. -<p> - -Always skipping filesystem checks may sometimes be -dangerous, so Ext2fs provides two ways to force checks at -regular intervals. A mount counter is maintained in the -superblock. Each time the filesystem is mounted in read/write -mode, this counter is incremented. When it reaches a maximal -value (also recorded in the superblock), the filesystem checker -forces the check even if the filesystem is ``Clean''. A last -check time and a maximal check interval are also maintained in -the superblock. These two fields allow the administrator to -request periodical checks. When the maximal check interval has -been reached, the checker ignores the filesystem state and -forces a filesystem check. -<p> - -An attribute allows the users to request secure deletion on -files. When such a file is deleted, random data is written in -the disk blocks previously allocated to the file. This prevents -malicious people from gaining access to the previous content of -the file by using a disk editor. -<p> - -Last, new types of files inspired from the 4.4 BSD -filesystem have recently been added to Ext2fs. Immutable files -can only be read: nobody can write or delete them. This can be -used to protect sensitive configuration files. Append-only -files can be opened in write mode but data is always appended -at the end of the file. Like immutable files, they cannot be -deleted or renamed. This is especially useful for log files -which can only grow. -<p> - -<sect2>Physical Structure<p> - -The physical structure of Ext2 filesystems has been strongly -influenced by the layout of the BSD filesystem. A -filesystem is made up of block groups. Block groups are -analogous to BSD FFS's cylinder groups. However, block groups -are not tied to the physical layout of the blocks on the disk, -since modern drives tend to be optimized for sequential access -and hide their physical geometry to the operating system. -<verb> -,---------+---------+---------+---------+---------, -| Boot | Block | Block | ... | Block | -| sector | group 1 | group 2 | | group n | -`---------+---------+---------+---------+---------' -</verb> -<p> - -Each block group contains a redundant copy of crucial filesystem -control informations (superblock and the filesystem descriptors) and -also contains a part of the filesystem (a block bitmap, an inode -bitmap, a piece of the inode table, and data blocks). The structure of -a block group is represented in this table: -<verb> -,---------+---------+---------+---------+---------+---------, -| Super | FS | Block | Inode | Inode | Data | -| block | desc. | bitmap | bitmap | table | blocks | -`---------+---------+---------+---------+---------+---------' -</verb> -<p> - -Using block groups is a big win in terms of reliability: -since the control structures are replicated in each block -group, it is easy to recover from a filesystem where the -superblock has been corrupted. This structure also helps to get -good performances: by reducing the distance between the inode -table and the data blocks, it is possible to reduce the disk -head seeks during I/O on files. -<p> - -In Ext2fs, directories are managed as linked lists of -variable length entries. Each entry contains the inode number, -the entry length, the file name and its length. By using -variable length entries, it is possible to implement long file -names without wasting disk space in directories. -<p> - - -<sect2>Performance optimizations<p> -In Linux, the Ext2fs kernel code contains many performance -optimizations, which tend to improve I/O speed when reading and -writing files. -<p> - -Ext2fs takes advantage of the buffer cache management by -performing readaheads: when a block has to be read, the kernel -code requests the I/O on several contiguous blocks. This way, -it tries to ensure that the next block to read will already be -loaded into the buffer cache. Readaheads are normally performed -during sequential reads on files and Ext2fs extends them to -directory reads, either explicit reads (<TT>readdir(2)</TT> -calls) or implicit ones (<TT>namei</TT> kernel directory -lookup). -<p> - -Ext2fs also contains many allocation optimizations. Block -groups are used to cluster together related inodes and data: -the kernel code always tries to allocate data blocks for a file -in the same group as its inode. This is intended to reduce the -disk head seeks made when the kernel reads an inode and its -data blocks. -<p> - -When writing data to a file, Ext2fs preallocates up to 8 -adjacent blocks when allocating a new block. Preallocation hit -rates are around 75% even on very full filesystems. This -preallocation achieves good write performances under heavy -load. It also allows contiguous blocks to be allocated to -files, thus it speeds up the future sequential reads. -<p> - -These two allocation optimizations produce a very good locality of: -<itemize> - <item> related files through block groups - <item> related blocks through the 8 bits clustering of block allocations. -</itemize> -<p> - -<sect1>Third Extended Filesystem (Ext3 FS)<p> -Ext3 support the same features as Ext2, but includes also Journaling. You -can download pre- version from -<url url="ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/">. - -<sect1>E2compr - Ext2fs transparent compression <label id="ext2_compress"><p> -<itemize> - <item> Homepage: <url url="http://opensource.captech.com/e2compr/"> - <item> Download: <url url="ftp://opensource.captech.com/e2compr/"> - <item> Maintainer: Peter Moulder <<htmlurl - url="mailto:reiter@netspace.net.au" - name="reiter@netspace.net.au">> - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1999/03/27/922549870.html" - name="Console/Filesystems"> - <item> Access: As for ext2 (Read/Write, Long filenames) - <item> License: GPL except for compression algorithms (various licenses) -</itemize> -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). -<bf>Although some people have been relying on it for years, -THIS SOFTWARE IS STILL IN DEVELOPMENT, AND IS NOT ,END-USER`-READY.</bf> - -<sect1>Accessing Ext2 from DOS (Ext2 tools)<label id="ext2_from_dos"><p> -<itemize> - <item> Download:<htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ext2/" - name="ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ext2/"> - <item> Access: Read-only, no drive letters (special utilites) - <item> Author: Claus Tondering <<htmlurl - url="mailto:ct@login.dknet.dk" - name="ct@login.dknet.dk">> - <item> Access: ? - <item> License: ? -</itemize> -A collection of DOS programs that allow you to read a Linux ext2 file system -from DOS. - -<sect1>Accessing Ext2 from DOS, Windows 9x/NT and other Unixes (LTools)<label id="ext2_from_dos2"><p> -<itemize> - <item> Homepage: <url url="http://www.it.fht-esslingen.de/~zimmerma/software/ltools.html"> - <item> Author: Werner Zimmermann <<htmlurl - url="mailto:Werner.Zimmermann@fht-esslingen.de" - name="Werner.Zimmermann@fht-esslingen.de">> - <item> Homepage: <url url="http://www.it.fht-esslingen.de/~zimmerma/software/ltools.htm"> - <item> Mirror: <url url="http://metalab.unc.edu/pub/linux/utils/dos/"> - (only major releases) - <item> Access: Read/Write/Modify, Long filenames - <item> License: GPL -</itemize> -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. - - -<sect1>Accessing Ext2 from OS/2<label id="ext2_os2"><p> -<itemize> - <item> Homepage:<url url="http://perso.wanadoo.fr/matthieu.willm/ext2-os2/"> - <item> Author: Matthieu WILLM <<htmlurl - url="mailto:willm@ibm.net" - name="willm@ibm.net">> , - <<htmlurl url="mailto:matthieu.willm@wanadoo.fr" - name="matthieu.willm@wanadoo.fr">> - <item> Download: <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/ext2_240.zip"> - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1999/05/30/928069144.html" - name="Console/Filesystems"> - <item> Access: Read/Write, swapping and booting to/from ext2, - removable media support, but NO extended attributes. -</itemize> -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. - -<sect1>Accessing Ext2 from Windows 95/98 (FSDEXT2) -<label id="ext2_from_win95"><p> -<itemize> - <item> Homepage:<htmlurl url="http://www.yipton.demon.co.uk/" - name="http://www.yipton.demon.co.uk/"> - <item> Author: Peter van Sebille <htmlurl - url="mailto:pvs@globalxs.nl" - name="pvs@globalxs.nl"> , - <htmlurl url="mailto:pese@nlnwgfsc.origin.nl" - name="pese@nlnwgfsc.origin.nl"> - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1998/10/14/908381784.html" - name="Console/Filesystems"> - <item> Access: Read-only, Long filenames supported -</itemize> - -<sect1>Accessing Ext2 from Windows 95 (Explore2fs) -<label id="ext2_from_win952"><p> -<itemize> - <item> Homepage:<url url="http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm"> - <item> Access: Read/Write, Long filenames, symbolic links etc... - <item> Author: John Newbigin <<htmlurl - url="mailto:jn@it.swin.edu.au" - name="jn@it.swin.edu.au">> - <item> License: GPL -</itemize> -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. - -<sect1>Accessing Ext2 from Windows NT (ext2fsnt) -<label id="ext2_from_winnt"><p> -<itemize> - <item> Homepage: <url url="http://www.chat.ru/~ashedel/ext2fsnt/"> - <item> Download: <url url="http://www.chat.ru/~ashedel/ext2fsnt/ext2fsnt.rar"> - <item> Author: Andrey Shedel < <htmlurl - url="mailto:andreys@cr.cyco.com" - name="andreys@cr.cyco.com"> > - <item> Freshmeat: - <htmlurl url="http://freshmeat.net/appindex/2000/08/23/967035557.html" - name="Console/Filesystems"> - <item> License: Free - <item> Access: Read-write, LFN, Security, PageFile, Hardlinks. -</itemize> - -<sect1>Accessing Ext2 from BeOS<label id="ntfs_from_beos2"><p> -<itemize> - <item> Homepage: <url url="http://www.cs.tamu.edu/people/tkg0143/be/"> - <item> Author: Travis Geiselbrecht - < <htmlurl url="mailto:geist@tamu.edu" - name="geist@tamu.edu"> > - <item> Download: <url url="http://www.cs.tamu.edu/people/tkg0143/be/downloads/ext2fs-1.0.6-x86-r4.zip"> for R4 and - <url url="http://www.cs.tamu.edu/people/tkg0143/be/downloads/ext2fs-1.0.3-x86-r3.zip"> for R3. - <item> Access: Read-only, long filenames supported. - <item> License: Free -</itemize> -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. <p> - -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. - -<sect1>Accessing Ext2 from MacOS (MountX) -<label id="ext2_macos"><p> -<itemize> - <item> Homepage: <url url="http://calvaweb.calvacom.fr/bh40"> - <item> Author: ? - <item> Download: ? -</itemize> -MacOS driver which allows you to mount ext2 filesystems (Linux and -MkLinux) on the Macintosh. - - -<sect1>Accessing Ext2 from MiNT -<label id="ext2_mint"><p> -<itemize> - <item> Homepage: <url url="http://?"> - <item> Author: <<htmlurl - url="mailto:yescrew@capybara.sk-pttsc.lj.edus.si" - name="yescrew@capybara.sk-pttsc.lj.edus.si">> - <item> Download: ? - <item> License: GPL -</itemize> -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. - - -<sect1>Ext2fs defrag <label id="ext2_defrag"><p> -<itemize> - <item> Download: <url url="ftp://ftp.uk.linux.org/pub/linux/sct/defrag/"> - <item> Author: Stephen C. Tweedie < <htmlurl - url="mailto:sct@redhat.com" - name="sct@redhat.com"> > - <item> License: GPL -</itemize> -Defragments your ext2 filesystem. Needs updated for glib libraries. - -<sect1>Ext2fs resize <label id="ext2_resize"><p> -<itemize> - <item> Homepage: <url url="http://www.dsv.nl/~buytenh/ext2resize/"> - <item> Download: <url url="http://www.dsv.nl/~buytenh/ext2resize/ext2resize-990617.tar.bz2"> - <item> Author: Lennert Buytenhek <<htmlurl - url="mailto:buytenh@dsv.nl" name="buytenh@dsv.nl">>. - <item> License: GPL -</itemize> -Resizes second extended filesystem. - -<sect1>Ext2end <label id="ext2end"><p> -<itemize> - <item> Homepage: <url url="http://linux.msede.com/ext2/ext2end.html"> - <item> Maintainer: Mike Field <<htmlurl - url="mailto:mafield@the.net.nz" - name="mafield@the.net.nz">> - <item> License: Copyright Mike Field. To be GPLed once stable. -</itemize> -For use with <ref id="lvm" name="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 - -<sect1>Repairing/analyzing/creating Ext2 using E2fsprogs -<label id="ext2_e2fsprogs"><p> -<itemize> - <item> Homepage: <url url="http://e2fsprogs.sourceforge.net/"> - <item> Download: <url - url="ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/"> - <item> Authors: <htmlurl - url="mailto:tytso@mit.edu" - name="tytso@mit.edu"> and - <htmlurl url="mailto:card@masi.ibp.fr" - name="card@masi.ibp.fr"> - <item> Windows NT port: <url url="http://www.chat.ru/~ashedel/ext2fsnt/"> - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1998/07/10/900098883.html" - name="Console/Filesystems"> - <item> License: GPL -</itemize> -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. - -<sect1>Ext2 filesystem editor - Ext2ed -<label id="ext2ed"><p> -<itemize> - <item> Homepage: ? - <item> Author: <htmlurl - url="mailto:tgud@tochnapc2.technion.ac.il" - name="tgud@tochnapc2.technion.ac.il">. - <item> Download: <url - url="http://sunsite.unc.edu/pub/Linux/system/Filesystems/ext2/ext2ed-0.1.tar.gz"> - <item> License: GPL -</itemize> -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. - -<sect1>Linux filesystem editor - lde -<label id="lde"><p> -<itemize> - <item> Homepage: ? - <item> Author: Scott D. Heavner <<htmlurl - url="mailto:sdh@po.cwru.edu" - name="sdh@po.cwru.edu">>. - <item> Download: <url - url="http://sunsite.unc.edu/pub/Linux/system/Filesystems/lde-2.3.4.tar.gz"> - <item> License: GPL -</itemize> -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 <bf>LaTeX Introduction to the Minix fs</bf>. You must patch -sources to compile on 2.2.x and 2.3.x kernels beacuse of missing Xia header -files in kernel.<p> - -<sect1>Ext2 undelete utilities -<label id="ext2undel"><p> -<itemize> - <item> Homepage: <url url="http://amadeus.uprm.edu/~undelete"> - <item> Authors: Gunther Costas, Wilfredo Lugo, Jerry Ramirez - <<htmlurl url="mailto:undelete@amadeus.uprm.edu" - name="undelete@amadeus.uprm.edu">> - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1998/10/14/908382417.html" - name="Console/Filesystems"> - <item> License: GPL -</itemize> -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. - - -<!-- ################################################################## --> -<sect> Macintosh Hierarchical Filesystem - HFS<label id="hfs"> <p> -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.<p> - -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.<p> - -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. <p> - -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. <p> - -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. -<p> - -HFS and HFS+ (also called Sequoia) filesystems are well documented. The -best source of tech. information about HFS can be found in the <bf>Inside -Macintosh</bf> series of books. Look at -<url url="http://developer.apple.com/techpubs/mac/Files/Files-99.html">. -The HFS+ filesystem is described in <bf>Technote 1150</bf>, -available online at -<url url="http://developer.apple.com/technotes/tn/tn1150.html">. -A lot of information is available also in other technotes. This links -are collected by Paul H. Hargrove: - -<itemize> - <item><url url="http://developer.apple.com/dev/technotes/fl/fl_22.html"> - - HFS Ruminations. -<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_32.html"> - - Hey, Buddy, Can You Spare A Block? -<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_505.html"> - - Alias Manager Q&As -<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_515.html"> - - File Manager File Handling Q&As -<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_530.html"> - - File Manager Volume Handling Q&As -<item> <url url="http://developer.apple.com/dev/qa/ops/ops08.html"> - - Bizarre Extension Loading Order: BackQuote Sorts Between "A" and "B" -<item> <url url="http://developer.apple.com/dev/technotes/tb/tb_535.html"> - - Finder Q&As -</itemize> - - -<sect1>Accessing HFS from Linux -<label id="hfs_from_linux"><p> -<itemize> - <item> Homepage: <url url="http://www-sccm.stanford.edu/~hargrove/HFS/"> - <item> Author: Paul. Hargrove <<htmlurl - url="mailto:hargrove@sccm.Stanford.edu" - name="hargrove@sccm.stanford.edu">> - <item> Freshmeat: <htmlurl - url="http://news.freshmeat.net/appindex/1998/08/07/902523578.html" - name="Console/Filesystems"> - <item> License: GPL -</itemize> - -<sect1>Accessing HFS from OS/2 (HFS/2) -<label id="hfs_from_os2"><p> -<itemize> - <item> Homepage: <url url="http://www.student.nada.kth.se/~f96-bet/HFS/"> - <item> Author: Marcus Better <<htmlurl - url="mailto:Marcus.Better@abc.se" name="Marcus.Better@abc.se">> -</itemize> - -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. -<p> - -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. - -<sect1>Accessing HFS from Windows 95/98/NT (HFV Explorer) -<label id="hfs_from_win"><p> -<itemize> - <item> Homepage: <url url="http://gamma.nic.fi/~lpesonen/HFVExplorer/"> - <item> Author: Lauri Pesonen <<htmlurl - url="mailto:lpesonen@nic.fi" name="lpesonen@nic.fi">> - <item> Access: R/W access to floppies, Zip disks and virtual volume - files. Read access to HFS and hybrid CD's. - <item> License: GPL -</itemize> -An HFS volume browser for Windows NT and Windows 9x based -on hfsutils. Launch pad support for all major Macintosh -emulators running on Windows. - -<sect1>Accessing HFS from DOS (MAC-ETTE) -<label id="hfs_from_dos"><p> -<itemize> - <item> Homepage: ? - <item> Author: Paul E. Thomson - <item> Download: <url url="http://home2.inet.tele.dk/shefan/macette3.zip"> - <item> Access: Read-Only - <item> License: Shareware ($34) -</itemize> -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. - -<sect1>HFS utils <label id="hfs_utils"><p> -<itemize> - <item> Homepage: <url url="http://www.mars.org/home/rob/proj/hfs/"> - <item> Author: Robert Leslie <<htmlurl - url="mailto:rob@mars.org" - name="rob@mars.org">> - <item> OS/2 port: <url url="http://www.f.kth.se/~f96-bet/hfsutils/"> -</itemize> - -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. - -<sect1>MacFS: A Portable Macintosh File System Library -<label id="macfs_lib"><p> -<itemize> - <item> Tech report: <url url="http://reports-archive.adm.cs.cmu.edu/anon/1998/abstracts/98-145.html"> - <item> Author: Peter A. Dinda <<htmlurl - url="mailto:pdinda+macfs@cs.cmu.edu" - name="pdinda+macfs@cs.cmu.edu">>, - George C. Necula, and Morgan Price - <item> Download: <url url="ftp://ftp.cs.cmu.edu/user/pdinda/MacFS_0.1.tar.gz"> - <item> Access: Read/Write, full open/read/write/seek/close support - <item> License: Free for noncommercial and nonmilitary use, see - <url url="ftp://ftp.cs.cmu.edu/user/pdinda/MacFS_0.1.LICENSE"> -</itemize> -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. - -<sect>ISO 9660 - CD-ROM filesystem<label id="iso9660"><p> -Useful ISO-9660 links: -<itemize> - <item> <url url="ftp://ftp.ecma.ch/ecma-st/e119-pdf.pdf"> - - ISO-9660 (aka ECMA-119, aka High Sierra) specification -</itemize> - -<sect1>RockRidge extensions<p> -Extensions allowing long filenames and Unix-style symbolic links. -<p> - -Useful RockRidge links: -<itemize> - <item> <url url="ftp://ftp.ymi.com/pub/rockridge/susp112.ps"> - - System Usage Sharing Protocol (SUSP, IEEE P1281) - <item> <url url="ftp://ftp.ymi.com/pub/rockridge/rrip112.ps"> - - Rock Ridge Interchange Protocol (RRIP, IEEE P1282) -</itemize> - -<sect1>Joliet extensions<p> -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. - -<sect1>Hybrid CD-ROMs<p> -Hybrid CDs contains three filesystems on one disc - ISO9660/RR, Joliet and -HFS. Such CD-ROMs are accessible under DOS, Unix, Macintosh and Windows 9x/NT. -All three filesystems use the same data, only metadata are the disc three -times.<p> - -<sect1>Novell NetWare indexes on ISO9660<p> -(todo) -<p> - -<sect1>Accessing Joliet from Linux<p> -<label id="joliet_linux"><p> -<itemize> - <item> Homepage: <url url="http://bmrc.berkeley.edu/people/chaffee/joliet.html"> - <item> License: GPL -</itemize> - -<sect1>Accessing Joliet from BeOS<p> -<label id="joliet_beos"><p> -<itemize> - <item> Homepage: <url url="http://www.iae.nl/users/gertjan/be/"> - <item> Author: Gertjan van Ratingen <<htmlurl - url="mailto:gertjan@iae.nl" name="gertjan@iae.nl">> - <item> License: ? -</itemize> -It is updated ISO9660 driver to be able to use a Joliet ISO9660 extensions. - -<sect1>Accessing Joliet from OS/2<p> -<label id="joliet_os2"><p> -<itemize> - <item> Download: <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/jcdfs.zip"> - <item> Author: IBM - <item> License: ? -</itemize> -Jcdfs.zip archive contains CDFS.IFS driver for OS/2 with Joliet level 3 -support. - -<sect1>Accessing Audio CD as filesystem from Linux<p> -<label id="audiocd_linux"><p> -<itemize> - <item> Homepage: <url url="http://www.ii.pw.edu.pl/~borkowsm/cdfs.htm"> - <item> Download: ? - <item> Author: Mariusz Borkowski <<htmlurl - url="mailto:borkowsm@ii.pw.edu.pl" name="borkowsm@ii.pw.edu.pl">> - <item> License: ? -</itemize> -This kernel module allows you to access an audio CD as a regular filesystem. - -<sect1>Accessing Audio CD as filesystem from BeOS<p> -<label id="audiocd_beos"><p> -<itemize> - <item> Homepage: <url url="http://www.xs4all.nl/~marcone/be.html"> - <item> Download: <url url="http://www.xs4all.nl/~marcone/be/files/cdda5.zip"> - (PPC/Intel archive) - <item> Author: Marco ? - <item> License: ? -</itemize> -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. -<p> - -<sect1>Accessing all tracks from Linux (CDfs)<p> -<label id="cdfs_linux"><p> -<itemize> - <item> Homepage: <url url="http://www.elis.rug.ac.be/~ronsse/cdfs/"> - <item> Download: <url url="http://www.elis.rug.ac.be/~ronsse/cdfs/cdfs.tgz"> - <item> Author: Michiel Ronsse <<htmlurl - url="mailto:ronsse@elis.rug.ac.be" name="ronsse@elis.rug.ac.be">> - <item> License: GPL -</itemize> -CDfs is a file system for Linux systems that `exports' all tracks -and boot images on a CD as normal files. These files can then be -mounted (e.g. for ISO and boot images), copied, played (audio -tracks), etc. The primary goal for developing this file system was -to `unlock' information in old ISO sessions. The file system also -allows you to access data on faulty multi session disks, e.g. -disks with multiple single sessions instead of a multi session. -<p> - - - -<sect1>Creating Hybrid CD-ROMs (mkhybrid)<p> -<label id="mkhybrid"><p> -<itemize> - <item> Homepage: <url url="http://www.ps.ucl.ac.uk/~jcpearso/mkhfs.html"> - <item> Download: <url url="ftp://ftp.ge.ucl.ac.uk/pub/mkhfs/"> - <item> Author: <<htmlurl url="mailto:j.pearson@ge.ucl.ac.uk" - name="j.pearson@ge.ucl.ac.uk">> - <item> License: ? -</itemize> -Make an ISO9660/HFS/JOLIET shared hybrid CD volume - - -<sect>Other filesystems<p> - -<sect1> ADFS - Acorn Disc File System <p> -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. <p> - -Linux kernel 2.1.x+ supports this filesystem. Author of Linux filesystem -implementation is Russell King <<htmlurl url="mailto:rmk@arm.uk.linux.org" -name="rmk@arm.uk.linux.org">>. - -<sect1> AFFS - Amiga fast filesystem<label id="affs"><p> -The Fast File System (FFS) is the common filesystem used on hard -disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20).<p> - -Linux kernel 2.1.x+ supports this filesystem. Author of Linux filesystem -implementation is Ray Burr <<htmlurl url="mailto:ryb@nightmare.com" -name="ryb@nightmare.com">>. - -<!------------------------------------------------------------------------> - -<sect1> BeFS - BeOS filesystem<label id="befs"><p> -BeFS is <ref id="journal" name="journaling"> filesystem used in BeOS. -For more information about BeFS see <htmlurl url="http://www.mkp.com/books_catalog/1-55860-497-9.asp" -name="Practical File System Design with the Be File System"> -book or BeFS linux driver source code.<p> - -Linux BeFS implementation: -<label id="befs_linux"><p> -<itemize> - <item> Homepage: <url url="http://hp.vector.co.jp/authors/VA008030/bfs/"> - <item> Download: <url url="http://hp.vector.co.jp/authors/VA008030/bfs/bfs-19990528.tar.gz"> - <item> Author: Makoto Kato <<htmlurl url="mailto:m_kato@ga2.so-net.ne.jp" - name="m_kato@ga2.so-net.ne.jp">> - <item> Access: Read-only - <item> License: GPL -</itemize> -This driver supports x86 and PowerPC Linux platform. -Also, it only supports readable in hard disk and floppy disk. - -<sect1> BFS - UnixWare Boot Filesystem<label id="bfs"><p> -UnixWare BFS filesystem type is a special-purpose filesystem. It was designed -for loading and booting UnixWare kernel. BFS was designed as a -<ref id="contiguous" name="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.<p> - -<p> -For more information about BFS see -<url url="http://uw7doc.sco.com/FS_admin/_The_bfs_File_System_Type.html">. -<itemize> - <item> <url url="http://uw7doc.sco.com/FS_admin/_The_bfs_Superblock.html"> - - superblock - <item> <url url="http://uw7doc.sco.com/FS_admin/_bfs_Inodes.html"> - - inodes - <item> <url url="http://uw7doc.sco.com/FS_admin/_bfs_Storage_Blocks.html"> - - storage blocks -</itemize> - -You can access BFS filesystem from Linux: -<label id="bfs_linux"> -<itemize> - <item> Homepage: <url url="http://www.ocston.org/~tigran/patches/bfs/"> - <item> Download: In the Linux kernel, patches available at homepage. - <item> Author: Tigran A. Aivazian <<htmlurl url="mailto:tigran@ocston.org" - name="tigran@ocston.org">> - <item> License: GPL - <item> Access: Read/write (write part is limited, no compactification yet) -</itemize> -The support for BFS is included in the Linux -kernel since version 2.3.25. If you are using an earlier -kernel, check if BFS homepage contains a patch which adds -support for this filesystem. The homepage also contains -bugfixes/enhancement which are not yet merged into the -official kernel. -<p> - -There is also mine old implementation, which is now obsolete. My -plan is to port this code to FreeBSD: - -<label id="bfs_linux_old"> -<itemize> - <item> Homepage: <url url="http://www.penguin.cz/~mhi/fs/bfs/"> - <item> Download: <url url="ftp://ftp.penguin.cz/pub/users/mhi/bfs/"> - <item> Author: Martin Hinner <<htmlurl url="mailto:mhi@penguin.cz" - name="mhi@penguin.cz">> - <item> License: GPL - <item> Access: Read-only -</itemize> -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 <ref id="vxfs" name="VxFS"> Linux support. - -<!--------------------------------------------------------------------------> - -<sect1> CBM FS - Commodore 1581/1541 filesystem<p> -This filesystem was used on Commodore 1581/1541. There is a read-only filesystem -driver for Linux: - -<label id="cbmfs_linux"><p> -<itemize> - <item> Homepage: <url url="http://www.npsnet.com/danf/software/pub/"> - <item> Download: <url url="ftp://sunsite.unc.edu/pub/Linux/system/filesystems/cbmfs-0.3.tar.gz"> - <item> Author: Dan Fandrich <<htmlurl - url="mailto:dan@fch.wimsey.bc.ca" name="dan@fch.wimsey.bc.ca">> - <item> License: GPL - <item> Access: Read-only -</itemize> -Commodore 1581 & 1541 read-only filesystem driver, installed as -a kernel module. Allows mounting Commodore 1581 disks in a -standard 3.5" floppy drive and 1541 disk images copied to any -floppy disk. PETSCII to ASCII conversion can be automatically -performed. Partitions on 1581 disks are accessed as -subdirectories. - -<!--------------------------------------------------------------------------> -<sect1> CrosStor filesystem<p> -This is new name for <bf>High throughput filesystem (HTFS)</bf>. For more -information see CrosStor homepage at <url url="http://www.crosstor.com">. - -<sect1> DTFS - Desktop filesystem<label id="dtfs"><p> -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 <url url="ftp://ftp.crosstor.com/pub/DTFS/papers/">). -<p> - -Read/Write <bf>commercial</bf> driver available from CrosStor for UnixWare -and SUN Solaris: - -<label id="dtfs_unixware"><p> -<itemize> - <item> Download: <url url="ftp://ftp.crosstor.com/pub/DTFS/"> - <item> License: Commercial? - <item> Access: Read/Write -</itemize> - -<sect1> EFS - Enhanced filesystem (Linux)<label id="enhfs"><p> -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.<p> - -Some other features that authors want to implement are -<ref id="journal" name="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!<p> - -Homepage of Enhanced FS is at <url url="http://www.coker.com.au/~russell/enh/">. -Contact Russell Coker -<<htmlurl url="mailto:russell@coker.com.au" -name="russell@coker.com.au">> for more information. - - -<sect1> EFS - Extent filesystem (IRIX)<label id="efs"><p> -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. -<p> - -There are two kernel modules for linux to access EFS filesystem. - -<label id="efs_linux"><p> -<itemize> - <item> Homepage: <url url="http://aeschi.ch.eu.org/efs/"> - <item> Download: <url url="http://aeschi.ch.eu.org/efs/efs-1.0b.tar.gz"> - <item> Author: Al Smith <<htmlurl - url="mailto:Al.Smith@aeschi.ch.eu.org" - name="Al.Smith@aeschi.ch.eu.org">> - <item> License: GPL - <item> Access: Read-only -</itemize> -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. -<p> - -Original efsmod is also available: - -<label id="efsmod_linux"><p> -<itemize> - <item> Homepage: <url url="http://wwwcip.informatik.uni-erlangen.de/user/cnvogelg/proj.html"> - <item> Download: <url url="http://wwwcip.informatik.uni-erlangen.de/user/cnvogelg/bin/efsmod-0.6.tgz"> - <item> Author: Christian Vogelgsang - <item> License: GPL - <item> Access: Read-only -</itemize> -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. -<p> - -<sect2>EFS and FFS library, libfs<p> -<label id="libfs"><p> -<itemize> - <item> Download: <url url="ftp://ivo.cps.unizar.es/pub/SPDsoft/libfs.tar.gz"> - <item> Author: J.A. Gutierrez <<htmlurl url="mailto:spd@ivo.cps.unizar.es" - name="spd@ivo.cps.unizar.es">> - <item> License: GPL - <item> Access: Read/Only IRIX EFS and Sun UFS -</itemize> -A C library to read EFS and FFS from WinNT x86, SunOS -and IRIX. Easy to use (Posix like interface) and to links aginst existent -code FTP server has also winefssh.exe and winufssh.exe, -simple WinNT binaries to interactively read UFS and EFS file systems. -Not a very polished/documented package, but somebody may find it useful. -<p> - -Useful links: -<itemize> - <item> IRIX EFS filesystem brief description: - <url url="http://squish.ucs.indiana.edu:80/ebt-bin/nph-dweb/dynaweb/SGI_Admin/IA_DiskFiles/@ebt-link;td=8?target=%25N%14_7484_START_RESTART_N%25"><P> - -</itemize> - -<sect1> FFS - BSD Fast filesystem<label id="ffs"><p> -This is native filesystem for most BSD unixes (FreeBSD, NetBSD, OpenBSD, -Sun Solaris, ...).<p> - -See also: <ref id="sfs" name="SFS, secure filesystem">, - <ref id="ufs" name="UFS">. -<p> - -<sect1> GPFS - General Parallel Filesystem<p> -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. - -<itemize> - <item><url url="http://www.austin.ibm.com/resource/technology/paper1.html"> -</itemize> - -<sect1> HFS - HP-UX Hi performance filesystem<p> -This is the second hfs that appears in this howto. It is used in older HP-UX -versions. - -<sect1> HTFS - High throughput filesystem <label id="htfs"><p> - -Useful links: -<itemize> - <item> SCO OpenServer 5 filesystems whitepaper: - <url url="http://www.sco.com/products/Whitepapers/family/filesy4.htm"> -</itemize> - -Read/Write <bf>commercial</bf> driver available from CrosStor: - -<label id="htfs_solaris"><p> -<itemize> - <item> Download: <url url="ftp://ftp.crosstor.com/pub/HTFS/"> - <item> License: Commercial? - <item> Access: Read/Write -</itemize> - -<sect1> JFS - Journaled filesystem (HP-UX, AIX, OS/2 5, Linux) -<label id="jfs"><p> -<itemize> - <item> Homepage: <url url="http://oss.software.ibm.com/developerworks/opensource/jfs/"> - <item> Download: <url url="http://www10.software.ibm.com/developer/opensource/jfs/project/pub/"> - <item> Author: Steve Best <<htmlurl - url="mailto:sbest@us.ibm.com" - name="sbest@us.ibm.com">> and - Dave Kleikamp <<htmlurl url="mailto:shaggy@us.ibm.com" - name="shaggy@us.ibm.com">> - <item> License: GPL - <item> Access: ? -</itemize> -JFS is IBM's journaled file system technology, currently used in -IBM enterprise servers, and is designed for high-throughput server -environments. - -<!--------------------------------------------------------------------------> - -<sect1> LIF - Logical Interchange Format (HP-UX)<p> -This filesystem is used in older HP-UX versions. It can be also found in -ROMs and bootup sectors. - -<!--------------------------------------------------------------------------> - -<sect1> LFS - Linux log structured filesystem<p> - -Linux Log structured filesystem implementation called d(t)fs: -<itemize> - <item> Homepage: <url url="http://www.complang.tuwien.ac.at/czezatke/lfs.html"> - <item> Author: Christian Czezatke <<htmlurl - url="mailto:e9025461@student.tuwien.ac.at" - name="e9025461@student.tuwien.ac.at">> - <item> License: GPL - <item> Access: rw/long filenames, etc -</itemize> -d(t)fs is a log-structured filesystem project for Linux. -Currently, the filesystem is mostly up and running, -but no cleaner has been written so far. <p> - -There will also be a dtfs mailing list that will be announced on the -homepage. For more information you can have a look at: -<url url="http://www.xss.co.at/mailman/listinfo.cgi/dtfs"> -<p> - -<itemize> - <item> <url url="http://collective.cpoint.net/lfs/"> - The kfs Homepage - Cornelius "Kees" Cook has started a Linux Log--Structured Filesystem - project before dtfs came to live. - <item> <url url="http://lucien.blight.com/~c-cook/prof/lfs/"> - Another (death) - LFS implementation ;-) - <item> <url url="http://www.eecs.harvard.edu/~margo/usenix.195/"> - - Margo Seltzer's <<htmlurl - url="mailto:margo@das.harvard.edu" - name="margo@das.harvard.edu">> LFS page -</itemize> - -<!----------------------------------------------------------------------------> - -<sect1> MFS - Macintosh filesystem <p> -MFS is original Macintosh filesystem. It has been replaced by HFS / HFS+. -If you can provide further information, mail -<htmlurl url="mailto:mhi@penguin.cz" name="me"> please. - -<!----------------------------------------------------------------------------> - -<sect1> Minix filesystem <p> -This is Minix native filesystem. It was also used in first versions of Linux. - -<!----------------------------------------------------------------------------> - -<sect1> NWFS - Novell NetWare filesystem<label id="nwfs"><p> -NWFS is native in Novell NetWare OS. It is modified FAT-based filesystem. -Two variants of this filesystem exists. 16bit NWFS 286 is used in NetWare 2.x. -NetWare 3.x, 4.x and 5 use 32bit NWFS 386. - -<sect2> NetWare filesystem / 286<label id="nwfs286"><p> -(todo) - -<sect2> NetWare filesystem / 386<label id="nwfs386"><p> -(todo) - -<sect2>Accessing NWFS-386 from Linux<p> -<itemize> - <item> Homepage: <url url="http://www.timpanogas.com/html/fenris_for_linux.html"> - <item> Download: <url url="ftp://207.109.151.240/nwfs/"> - <item> Author: Timpanogas Research Group, Inc. (jmerkey@timpanogas.com) - <item> License: GPL - <item> Access: Read-Only -</itemize> -This driver allows you to mount NWFS-386 filesystem on Linux. - -<!----------------------------------------------------------------------------> -<sect1> NSS - Novell Storage Services<label id="nss"><p> -This is a new 64bit <ref id="journal" name="journaling"> filesystem using a -<ref id="btree" name="balanced tree"> algorithms. It is used in Novell -NetWare 5. - -<itemize> - <item> <url url="http://www.novell.com/whitepapers/nw5/nss.html"> - NSS Whitepaper -</itemize> - -<!----------------------------------------------------------------------------> - -<sect1> ODS - On Disk Structure filesystem<p> -This is OpenVMS and VMS native filesystem. - -<!----------------------------------------------------------------------------> - -<sect1> QNX filesystem <label id="qnxfs"><label id="qnx4"><p> -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.<p> - -QNX4 filesystem is now accessible from Linux 2.1.x+. Say "Y"es to 'QNX -filesystem support'; - -<itemize> - <item> Download: In the kernel ;) - <item> Author: Frank Denis <<htmlurl - url="mailto:j@4u.net" name="j@4u.net">> (maintainer), - Richard Frowijn - <item> License: GPL - <item> Access: Read (except for multi-extents files), Write (experimental) -</itemize> -Driver for the QNX 4 filesystem. - -<!----------------------------------------------------------------------------> - -<sect1> Reiser filesystem<label id="reiserfs"><p> - 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. -<p> - -Useful links: -<itemize> - <item> Reiser fs homepage - <url url="http://devlinux.org/namesys/"> -</itemize> - -<sect1> RFS (CD-ROM Filesystem)<p> -Sony's incremental packet-writing filesystem. - -<sect1> RomFS - Rom filesystem<p> -Author of Linux RomFS implemplementation is -Janos Farkas <<htmlurl url="mailto:chexum@shadow.banki.hu" -name="chexum@shadow.banki.hu">> For more information see -<bf>/usr/src/linux/Documentation/filesystems/romfs.txt</bf> -file. - -<sect1> SFS - Secure filesystem<label id="sfs"><p> -The sfs filesystem type is a variation of the FFS filesystem type. The -boot block,superblock, storage blocks, and free blocks for the sfs -filesystem type are, at the administrative level, identical to those for -FFS. The inodes differ from FFS inodes, however. Each odd-numbered -inode is reserved for security information. The information contains -Access Control List information. I'm not sure if SFS has any other -abilities though. -<p> - -SFS links: -<itemize> - <item> <url url="http://uw7doc.sco.com/FS_admin/_The_sfs_File_System_Type.html"> - UnixWare 7 documentation: SFS Filesystem -</itemize> - -<sect1> Spiralog filesystem (OpenVMS)<label id="spiralog"><p> - -Spiralog is a 64bit high-performance filesystem for the OpenVMS. -The Spiralog -combines <ref id="journal" name="log-structured"> technology -with more traditional <ref id="btree" name="B-tree"> -technology to provide a general abstraction. The B-tree -mapping mechanism uses write-ahead logging to give stability and -recoverability guarantees. -<p> - -Spiralog-related links at Digital: - -<itemize> - <item> <url url="http://www.digital.com/info/SP6048/"> - - Spiralog File System for OpenVMS Alpha - <item> <url url="http://www.digital.com/DTJM01/DTJM01AH.HTM"> - - Overview of the Spiralog File System - <item> <url url="http://www.digital.com/DTJM02/DTJM02HM.HTM"> - - Design of the Server for the Spiralog File System -</itemize> - -<sect1> System V and derived filesystems <p> -Homepage of System V Linux project is at -<url url="http://www.knm.org.pl/prezes/sysv.html">. Maintainer of -this project is <kgb@manjak.knm.pl.org>. - -<sect2> AFS - Acer Fast Filesystem<label id="afs"><p> -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. - -<sect2> EAFS - Extended Acer Fast Filesystem<label id="eafs"><p> -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. - -<sect2> Coherent filesystem<label id="coherent"><p> - -<sect2> S5<label id="s5"> <p> -This filesystem is used in UnixWare. It's probably SystemV compatible, but -I haven't verified it yet. For more information see -<url url="http://uw7doc.sco.com/FS_admin/_The_s5_File_System_Type.html">. - -<sect2> S51K - SystemV 1K<label id="s51k"><p> - -<sect2> Version 7 filesystem<p> -This filesystem type is used on Version 7 Unix for PDP-11 machines. - -<sect2> Xenix filesystem<label id="xenix"><p> - -<sect1> Text - (Philips' CD-ROM Filesystem)<p> -Philips' standard for encoding disc and track data on audio CDs. - -<sect1> UDF - Universal Disk Format (DVD-ROM filesystem)<p> - -There is a Linux UDF filesystem driver: -<label id="udf_linux"><p> -<itemize> - <item> Homepage: <url url="http://trylinux.com/projects/udf/"> - <item> Download: <url url="http://trylinux.com/projects/udf/udf-0.8.0.1.tar.gz"> - <item> Author: Dave Boynton <<htmlurl url="maito:dave@trylinux.com" - name="dave@trylinux.com">> - <item> Mailing-list: <linux_udf@hootie.lvld.hp.com> - <item> License: GPL - <item> Access: Read-only -</itemize> - -<sect1>UFS<label id="ufs"><p> - -Note: People often call <ref id="ffs" name="BSD Fast Filesystem"> incorrectly -UFS. FFS and UFS are *diferrent* filesystems. All modern Unixes use FFS -filesystem, not UFS! UFS was used in early BSD versions. You can download -source code at <url url="http://minnie.cs.adfa.edu.au/TUHS/">.<p> - -Useful links: -<itemize> - <item> <url url="http://www.sun.ca/white-papers/ufs-cluster.html"> - - Implementation of write-clustering for Sun's UFS -</itemize> - -See also: <ref id="ffs" name="BSD FFS"><p> - -<sect1>V7 Filesystem<label id="v7"><p> -The V7 Filesystem was used in Seventh Edition of UNIX Time Sharing system -(about 1980). For more information see 7th Ed. source code, which is -available from the Unix Archive: <url url="http://minnie.cs.adfa.edu.au/TUHS/">. -<p> - -<sect1> VxFS - Veritas filesystem (HP-UX, SCO UnixWare, Solaris) -<label id="vxfs"><p> -This is commercial filesystem developer by Veritas Inc. You can see it in -HP-UX, SCO UnixWare, Solaris and probably other systems. It has very -interesting features: -Extent based allocation, Journaling, access control lists (ACLs), -up to 2 terabyte large file support, online backup (snapshot filesystem), -BSD style quotas and many more. -<p> -Three VxFS versions are available with VxFS:<p> - -<bf> Version 1:</bf> This is original VxFS, not commonly in use.<p> -<bf> Version 2:</bf> Support for filesets and dynamic inode allocation.<p> -<bf> Version 4:</bf> Latest version, supports large files and quotas.<p> - -Note that HP-UX, Solaris and UnixWare versions use slightly different -structures, so you may not be able to read VxFS when you connect it -to different system. <p> - -VxFS related links: -<itemize> - <item> <url url="http://www.veritas.com/"> - Veritas Inc - <<htmlurl url="mailto:vx-sales@veritas.com" - name="vx-sales@veritas.com">>. - <item> <url url="http://uw7doc.sco.com/ODM_FSadmin/CONTENTS.html"> - - VxFS ODM FS Admin - UnixWare 7 (documentation, really good). - <item> <url url="http://uw7doc.sco.com/FS_manager/fsD.vxfsopt.html"> - - VxFS FS Manager - UnixWare 7 (documentation). - <item> <url url="http://manuals.mchp.siemens.de:80/dynaweb/english/ru544e/drlugueb/o25636e1/@Generic__BookView/1641;cd=3"> - - VxFS - Reliant Unix. -</itemize> -<p> - -See also: <ref id="vxvm" name="VxVM (Veritas volume manager)"> and - <ref id="journal" name="journaling filesystems">. - -<sect2>VxTools<p> -<label id="vxtools"> -Unix command-line utilities for accessing VxFS versions 2 and 4 are -available under the GNU GPL: -<itemize> - <item> Homepage: <url url="http://www.penguin.cz/~mhi/fs/vxfs/"> - <item> Download: <url url="ftp://ftp.penguin.cz/pub/users/mhi/vxfs/"> - <item> Author: Martin Hinner <<htmlurl url="mailto:mhi@penguin.cz" - name="mhi@penguin.cz">> - <item> Mailing-list: <fs-l@penguin.cz> - <item> License: GPL - <item> Access: Read-only, command-line utilites -</itemize> -Vxtools is a set of command-line utilites which allow you to access your -VxFS filesystem from Linux (and possibly other Unixes). Current version -can read VxFS versions 2 and 4. -<p> - -I (mhi) plan also VxFS Linux kernel driver.<p> - -AFAIK, Rodney Ramdas <<htmlurl url="mailto:rodney@quicknet.nl" -name="rodney@quicknet.nl">> works on VxFS driver for FreeBSD. I don't -know current status of his project, so if you want more info contact him -directly.<p> - -<sect1> XFS - Extended filesystem (IRIX)<label id="xfs"><p> - - -XFS(tm) is the next-generation file system for -Silicon Graphics[TM] 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 -<ref id="journal" name="journaling"> -technology for fast, reliable recovery. File systems can be backed up while -still in use, significantly reducing administrative overhead.<p> - -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. <p> - -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. <P> - -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. <P> - -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.<P> - -Useful XFS links: -<itemize> - <item> <url url="http://www.sgi.com/Technology/xfs-whitepaper.html"> - XFS whitepaper -</itemize> - - -XFS Linux port covered by the GNU General Public License is available from -SGI Inc.: -<label id="xfs_linux"><p> -<itemize> - <item> Homepage: <url url="http://oss.sgi.com/projects/xfs/"> - <item> Download: <url url="ftp://oss.sgi.com/www/projects/xfs/download/"> - <item> Author: SGI Inc., <url url="http://www.sgi.com/"> - <item> License: GPL - <item> Access: Read-write -</itemize> - -<sect1> Xia FS<label id="xia"><p> -This filesystem was developed to replace old Minix filesystem in Linux. Author -of this fs is Franx Xia <<htmlurl url="mailto:qx@math.columbia.edu" -name="qx@math.columbia.edu">> - -<sect>Raw partitions<p> - -<sect1>Backing up raw partitions using DBsnapshot<p> -(todo: www.crosstor.com) - -<sect>Appendix<p> - -<sect1>Network filesystems<p> -This HOWTO is not about Network filesystems, but I should mention them.<p> - -There is a brief list of some which I know: - -<sect2> AFS - Andrew Filesystem<p> - -<itemize> - <item> The AFS FAQ is at <url - url="http://www.angelfire.com/hi/plutonic/afs-faq.html">. - <item> Commercial clients and servers for almost all platforms (except win98) - are available from IBM. See - <url url="http://www.transarc.com/Product/EFS/AFS/index.html"> - <item> A free client for Unix is available from the Arla Team at - <url url="http://www.stacken.kth.se/projekt/arla/">. - <item> A free Server is also in preparation, but not in production yet. -</itemize> - -<sect2> CODA <p> -<label id="coda"><p> -<itemize> - <item> Homepage: <url url="http://www.coda.cs.cmu.edu/"> - <item> Download: <url url="ftp://ftp.coda.cs.cmu.edu/pub/coda/linux/"> - <item> Author: CMU Coda Group <<htmlurl url="mailto:braam@coda.cs.cmu.edu" - name="braam@coda.cs.cmu.edu">>. - <item> License: GPL - <item> Access: R/W -</itemize> -Coda is a distributed filesystem with novel features such as -disconnected operation and server replication. -<p> - -<sect2> NFS - Network filesystem (Unix)<p> - -<sect2> NCP - NetWare Core Protocol (Novell NetWare)<p> - -<sect2> SMB - Session Message Block (Windows 3.x/9x/NT)<p> -This protocol is used in Windows world. - -<sect2>Intermezzo<p> -<label id="intermezzo"><p> -<itemize> - <item> Homepage: <url url="http://inter-mezzo.org/"> - <item> Download: <url url="http://inter-mezzo.org/downloads.html"> - <item> Author: Stelias and Redhat <<htmlurl url="mailto:info@stelias.com" - name="info@stelias.com">>. - <item> License: GPL - <item> Access: R/W -</itemize> -Intermezzo is a distributed file system for Linux. It was inspired -from coda but uses the disk file system as a persistent cache. -Intermezzo supports disconnected operation but does not yet -implement an identification system. - - -<sect1>Encrypted filesystems<p> - -<sect2>CFS<p> -<label id="cfs"><p> -<itemize> - <item> Homepage: ? - <item> Download: ? - <item> Author: Matt Blaze <<htmlurl url="mailto:mab@research.att.com" - name="mab@research.att.com">>. - <item> License: ? - <item> Access: Read/Write, using DES/3DES. -</itemize> -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.<p> - -<sect2>TCFS<p> -<label id="tcfs"><p> -<itemize> - <item> Homepage: <url url="http://tcfs.dia.unisa.it/"> - <item> Download: <url url="ftp://tcfs.dia.unisa.it/pub/tcfs/"> - <item> Authors: Luigi Catuogno <<htmlurl url="mailto:luicat@tcfs.dia.unisa.it" - name="luicat@tcfs.dia.unisa.it">>, Aniello Del Sorbo - <<htmlurl url="mailto:anidel@tcfs.dia.unisa.it" - name="anidel@tcfs.dia.unisa.it">>, Luigi Della Monica - <<htmlurl url="mailto:dellui@tcfs.dia.unisa.it" - name="dellui@tcfs.dia.unisa.it">>, G.Cattaneo - <<htmlurl url="mailto:cattaneo@dia.unisa.it" - name="cattaneo@dia.unisa.it">>, - G.Persiano (<url url="http://www.dia.unisa.it/~giuper/">), - Ermelindo (Erry) Mauriello <<htmlurl - url="mailto:errmau@tcfs.dia.unisa.it" - name="errmau@tcfs.dia.unisa.it">>, Angelo Celentano - <<htmlurl url="mailto:angcel@tcfs.dia.unisa.it" - name="angcel@tcfs.dia.unisa.it">>, Andrea Cozzolino - <<htmlurl url="mailto:andcoz@tcfs.dia.unisa.it" - name="andcoz@tcfs.dia.unisa.it">>. - <item> License: GPL - <item> Access: Read/Write transparently using CBC-DES/3DES/RC5/IDEA/Others.. -</itemize> -The main difference between TCFS and CFS is the trasparency to -user obtained by using TCFS. As a matter of fact, CFS works in -user space while TCFS works in the kernel space thus resulting -in improved performances and security. -The dynamic encryption module feature of TCFS allows a user -to specify the encryption engine of his/her choiche to be used -by TCFS. -Currently available only for Linux, TCFS will be relased soon -also for NetBSD, and will support in a near future also other -FS then NFS.<p> - -<sect2>SFS<p> -( TODO: <url url="http://www.cs.auckland.ac.nz/~pgut001/sfs/index.html"> ) - -<sect2>VS3FS: Steganographic File System for Linux<p> -<label id="vs3fs"><p> -<itemize> - <item> Homepage: <url url="http://www.linux-security.org/sfs/"> - <item> License: ? - <item> Access: ? -</itemize> -fspatch is a kernel patch which introduces module support for the -steganographic file system (formerly known as vs3fs, an experimental -type of filesytem that not only encrypts all information on the disk, -but also tries to hide that information in such a way that it cannot be -proven to even exist on the disk. This enables you to keep sensitive -information on a disk, while not be prone to being forced to reveal that -information. Even under extreme circumstances, fake documents could be -stored on other parts of the disk, for which a pasword may be revealed. -It should not be possible to find out whether any other information is -stored on the disk.<p> - -<sect1>Filesystem benchmarking utilities<p> -<sect2>IOzone<p> -<label id="iozone"><p> -<itemize> - <item> Homepage: <url url="http://www.iozone.org/"> - <item> Download: <url url="http://www.iozone.org/src/stable/"> - <item> License: freely distributable -</itemize> -IOzone is a filesystem benchmark tool. The benchmark generates and -measures a variety of file operations. Iozone has been ported to -many machines and runs under many operating systems. - - -<sect1>Writing your own filesystem driver<p> - -<sect2>DOS<p> -I haven't seen yet any good page about writing DOS filesystem drivers -(Network redirectors) on the net. The best source is Ralf Brown's interrupt -list and <ref id="ihpfs" name="iHPFS"> source code. - -<sect2>OS/2<p> -<itemize> - <item><url url="ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/doc/ifsinf.zip"> - <item><url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/32drv170.zip"> - - 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). - -</itemize> - -<sect2>Windows NT<p> -Microsoft IFS kit page -(<url url="http://www.microsoft.com/ddk/IFSkit/">) will be useful as -the best way to get into NT filesystems development (even for $1K it costs). -<p> - -For more information about writing FS drivers for Windows NT see -<url url="http://www.ing.umu.se/~bosse/"> by -<<htmlurl url="mailto:bosse@acc.umu.se" name="bosse@acc.umu.se">>. -<p> - -<sect1>Related documents<p> - -<itemize> - <item> <url url="http://www.honeycomb.net/os/holistic/connect/filesys.htm"> - - good page about filesystems - <item> <url url="http://home.att.net/~artnaseef/"> - Linux overlay - filesystem by <<htmlurl url="mailto:artnaseef@worldnet.att.net" - name="artnaseef@worldnet.att.net">>. - <item> <url url="http://www.braysystems.com/linux/trustees.html"> - - Linux trustees - <item> <url url="http://tcfs.dia.unisa.it"> - Transparent Cryptography - Filesystem - <item> <url url="http://www.sas.com/standards/large.file"> - Large file summit - - attacks the problem of 2gig+ of file in a 32bit computer - <item> <url url="http://www.coda.cs.cmu.edu/"> - The CODA project - (a distributed file system based on AFS) - <item> <url url="ftp://ftp.scis.org/pub/lfs/"> - LFS related papers - <item> <url url="http://www.redhat.com:8080/HyperNews/get/khg.html"> - Linux - Kernel Hacker's guide - <item> <url url="http://www.win.tue.nl/~aeb/linux/largedisk.html"> - - Large disk HOWTO - <item> <url url="http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html"> - - The Linux devfs - <item> <url url="http://gfs.lcse.umn.edu/"> - The Global File System (GFS) - <item> <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/tvfs211.zip"> - The Toronto Virtual Filesystem/2. - <item> <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/ramfs64.zip"> Dynamic RAM drive IFS driver for OS/2 - <item> <url url="http://doc.sco.com/"> - - UnixWare and SCO Unix documentation online - <item> <url url="http://uw7doc.sco.com/"> - - UnixWare 7 documentation online - <item> <url url="http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/SG244428/CCONTENTS"> - - Inside OS/2 LAN Server 4.0 - <item> <url url="ftp://tsx-11.mit.edu/pub/linux/ALPHA/userfs/"> - - Linux UserFS, it allows you to write a Linux process which implements - a filesystem. - <item> <url url="http://www.nyx.net/~sgjoen/disk.html"> - Stein Gjoen's - Multi Disk System Tuning HOWTO. - <item> <url url="http://linuxtoday.com/stories/5556.html"> - Linux Today: - Kragen's Amazing List of Filesystems. - <item> <url url="http://www.koehntopp.de/kris/artikel/dateisysteme/"> - - Kristian Kohntopp's Unix Filesystems (in German). -</itemize> - -</article> - +<!doctype linuxdoc system> + +<article> + +<!-- Title information --> + +<title>Filesystems HOWTO +<author>Martin Hinner <<htmlurl url="mailto:martin@hinner.info" + name="martin@hinner.info">>, <url url="http://martin.hinner.info"> +<date>Version 0.7.7, 19 September 2000 (non-technical upadate: Jan 2007) +<abstract> +This small HOWTO is about filesystems and accessing filesystems. It is not +Linux- or Unix-related document as you probably expect. You can find there +also a lot of interesting information about non-Unix (file)systems, but Unix +is my primary interest :-). More information and the latest version of this +document can be found at <url url="http://martin.hinner.info/fs/">. +</abstract> + +<!-- Table of contents --> +<toc> + +<!-- Begin the document --> + +<sect>Introduction<p> + +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. +<p> +Update: Please note that this HOWTO wasn't updated for more than 5 years and +it DOES contain some out of date information. I will try to find some time to +set-up WIKI site for filesystems related information so as anybody can +contribute. For more information see next chapter. +<p> + +Before you read this HOWTO it's recommended to read +<htmlurl url="mailto:sgjoen@nyx.net" name="Stein Gjoen's"> +Disk-HOWTO (you can obtain it from <url url="http://sunsite.unc.edu/LDP/HOWTO/"> +). <p> + +This HOWTO can be obtained from <url url="http://martin.hinner.info/fs/"> or +<url url="http://metalab.unc.edu/filesystems/howto/">.<p> + +If you are Japanese user, you might be interested that +<htmlurl url="mailto:fujiwara@linux.or.jp" name="FUJIWARA Teruyoshi"> +translated this HOWTO to Japanese. +It is available at +<url url="http://www.linux.or.jp/JF/JFdocs/Filesystems-HOWTO.html">. +SGML source file can be downloaded from +<url url="ftp://ftp.linet.gr.jp/pub/JF/sgml/Filesystems-HOWTO.sgml.gz">. + +<!-- ##################################################################### --> + + +<sect1>Contacting the author<p> +You can contact me at martin@hinner.info. I welcome any suggestions and corrections, +but please before you ask a question, try searching the internet first. You should +also check my homepage (<url url="http://martin.hinner.info/">) for any updates or additional information. +Please note that I am very busy with my other projects (like <htmlurl url="http://www.auto-diagnostics.info" +name="automotive diagnostics">, <htmlurl url="http://www.arm-development.com" name="ARM-based microprocessors development tools">) +and I have a full time job (I am working for <htmlurl url="http://www.secons.com" name="SECONS Ltd."> and +<htmlurl url="http://www.fintera.com/" name="Fintera Ltd.">), so my time to answer e-mails is very limited. + +<sect1>HOWTO Maintenance<p> + +If you want to contribute to this HOWTO or take over the maintenance, please +look at author's website (<url url="http://martin.hinner.info/">) and +contact him.<p> + +I will also try to set-up a wiki-style website for filesystems related information so as anyone can contribute +and this website will be later merged with this HOWTO. All of these activities depend on my free time.<p> + +<!-- ##################################################################### --> + +<sect1>Copyright<p> + +<bf>The Filesystems HOWTO, Copyright (c) 1999-2000 Martin Hinner +<<htmlurl url="mailto:martin@hinner.info" name="martin@hinner.info">>. +</bf> + +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.<p> + +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.<p> + +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.<p> + +<!-- ##################################################################### --> + +<sect1> Filesystems mailing-list<p> +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 +<<htmlurl url="mailto:majordomo@penguin.cz" name="majordomo@penguin.cz">> +and in the BODY (not the subject) of the email message put (without quotes): +"<bf>subscribe fs-l</bf>".<p> + +<sect2>Linux kernel filesystems mailing-list<p> +To join Linux kernel filesystems mailing list +<htmlurl url="mailto:linux-fsdev@vger.rutgers.edu" +name="linux-fsdev@vger.rutgers.edu">, +send e-mail to +<htmlurl url="mailto:listserv@vger.rutgers.edu" +name="listserv@vger.rutgers.edu">. Put <tt>"subscribe linux-fsdev"</tt> +in message body. +<p> + +<sect2>FreeBSD filesystems mailing-list<p> +To join techical FreeBSD filesystems mailing list +<htmlurl url="mailto:freebsd-fs@FreeBSD.org" name="freebsd-fs@FreeBSD.org">, +send e-mail to +<htmlurl url="mailto:majordomo@FreeBSD.org" name="majordomo@FreeBSD.org">. Put +<tt>"subscribe freebsd-fs"</tt> in message body. +<p> + +<!-- ##################################################################### --> + +<sect1> Filesystems collection at metalab.unc.edu<p> +Filesystems collection is FTP/WWW site providing useful information about +filesystems and filesystem-related programs and drivers. It lives at +<url url="http://metalab.unc.edu/filesystems/">, or FTP-only at +<url url="ftp://metalab.unc.edu/pub/docs/filesystems/">. + +<!-- ##################################################################### --> + +<sect1>Credits<p> + +The original "Filesystems access HOWTO" was written by Georgatos Photis +(see his homepage at <url url="http://students.ceid.upatras.gr/~gef/">). +This HOWTO contains a lot of information from his webpage. Thanks, Gef. +<p> + +FUJIWARA Teruyoshi <fujiwara@linux.or.jp> translated this HOWTO +to Japanese. +<p> + +Other people who have contributed or helped me (directly or indirectly) +with this HOWTO are, in alphabetical order: +<itemize> + <item> Mariusz Borkowski <borkowsm@ii.pw.edu.pl> - ISO9660/RR info + <item> Remy Card <card@masi.ibp.fr> - Ext2 filesystem introduction + <item> Peter A. Dinda <pdinda@cs.cmu.edu> - HFS filesystem description + <item> Alfonso De Gregorio <adg@speedcom.it> - TCFS filesystem info + <item> Radek Machacka <radekm@sco.com> - Thanks for SCO UnixWare + and SCO OpenServer + <item> Andrey Shedel <andreys@cr.cyco.com> - Misc. updates + <item> Peter Todd <retep2@home.com> - SFS filesystem info + <item> Theodore Ts'o <tytso@mit.edu> - Ext2 filesystem introduction + <item> Stephen Tweedie <sct@dcs.ed.ac.uk> - Ext2 filesystem introduction +</itemize> +Many thanks to the above people. If I have forgotten anyone, please let me know. + +<!-- ##################################################################### --> + +<sect1>Filesystems accessibility map<p> +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.<p> +<bf>YOU SEE THAT THIS `MAP' IS NOT STILL COMPLETE. +I WILL TRY TO FINISH IT IN THE NEAR FUTURE.</bf> + + +<!-- ---------------------------- --> +<bf>FreeBSD:</bf> +<ref name="BSD FFS" id="ffs"> | +<ref name="Ext2" id="ext2"> | +<ref name="HPFS" id="hpfs_freebsd"> | +<ref name="NTFS" id="ntfs_freebsd"> +<p> + +<!-- ---------------------------- --> +<bf>Linux:</bf> +<ref name="AFFS" id="affs">| +<ref name="BeFS" id="befs_linux">| +<ref name="BFS" id="bfs_linux">| +<ref name="Ext2 FS" id="ext2">| +<ref name="BSD FFS" id="ffs">| +<ref name="HPFS" id="hpfs_linux">| +<ref name="Qnx4 FS" id="qnx4">| +<ref name="Xia" id="xia"> +<P> + +<!-- ---------------------------- --> +<bf>NetBSD:</bf> +<ref name="BSD FFS" id="ffs"> | +<ref name="FAT12/16" id="fat"> | +<ref name="ISO9660" id="iso9660"> +<P> + +<!-- ---------------------------- --> +<bf>NetWare 2.x:</bf> +<ref name="NWFS-286" id="nwfs286"> +<P> + +<!-- ---------------------------- --> +<bf>NetWare 3.x, 4.x:</bf> +<ref name="NWFS-386" id="nwfs386"> | +<ref name="ISO9660" id="iso9660"> +<P> + +<!-- ---------------------------- --> +<bf>NetWare 5.x:</bf> +<ref name="NWFS-386" id="nwfs386"> | +<ref name="NSS" id="nss"> | +<ref name="ISO9660" id="iso9660"> +<P> + +<!-- ---------------------------- --> +<bf>OpenBSD:</bf> +<ref name="BSD FFS" id="ffs"> | +<ref name="FAT12/16" id="fat"> +<P> + +<!-- ---------------------------- --> +<bf>OS/2:</bf> +<ref name="Ext2 FS" id="ext2_os2"> | +<ref name="FAT12/16/32" id="fat"> | +<ref name="HPFS" id="hpfs"> | +<ref name="HPFS" id="hpfs"> | +<ref name="ISO 9660" id="iso9660"> | +<ref name="JFS" id="jfs"> | +<ref name="VFAT" id="vfat"> +<P> + +<!-- ---------------------------- --> +<bf>QNX 4:</bf> +<ref name="FAT12/16" id="fat"> | +<ref name="ISO 9660" id="iso9660"> | +<ref name="Qnx4 FS" id="qnx4"> +<P> + +<!-- ---------------------------- --> +<bf>SCO OpenServer:</bf> +<ref name="AFS" id="afs">| +<ref name="DTFS" id="dtfs">| +<ref name="EAFS" id="eafs">| +<ref name="HTFS" id="htfs">| +<ref name="ISO 9660" id="iso9660"> | +<ref name="S51K" id="s51k"> +<p> + +<!-- ---------------------------- --> +<bf>SCO UnixWare:</bf> +<ref name="BFS" id="bfs">| +<ref name="DTFS" id="dtfs">| +<ref name="ISO 9660" id="iso9660"> | +<ref name="System V" id="s5">| +<ref name="VxFS" id="vxfs"> +<p> + +<sect1>Introduction to contiguous allocation filesystems +<label id="contiguous"><p> + + +Some contiguous filesystems: +<ref id="bfs" name="BFS">, +<ref id="iso9660" name="ISO9660 and extensions">. + +<sect1>Introduction to linked-list allocation filesystems<p> + +<sect1>Introduction to FAT-based filesystems<p> +(todo) + +Some FAT filesystems: +<ref id="fat" name="FAT12/16/32, VFAT"> and +<ref id="nwfs" name="NetWare filestem">. + +<sect1>Introduction to Inode filesystems<p> +(todo) + +<sect1>Introduction to extent filesystems<p> +(todo) + +Some 'extent' filesystems: +<ref id="efs" name="EFS"> and +<ref id="vxfs" name="VxFS">. + +<sect1>Introduction to filesystems using balanced trees<label id="btree"><p> +(todo) + +Some filesystems which use B+ trees: +<ref id="hfs" name="HFS">, +<ref id="nss" name="NSS">, +<ref id="reiserfs" name="Reiser FS"> and +<ref id="spiralog" name="Spiralog filesystem">. + +<sect1>Introduction to logging/journaling filesystems<label id="journal"><p> + +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. +<p> + +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.<p> + +Some journaling filesystems: +<ref id="befs" name="BeFS">, +<ref id="htfs" name="HTFS">, +<ref id="jfs" name="JFS">, +<ref id="nss" name="NSS">, +<ref id="spiralog" name="Spiralog filesystem">, +<ref id="vxfs" name="VxFS"> and +<ref id="xfs" name="XFS">. + +<sect1>Other filesystem features<label id="other_features"><p> + +<sect2>Quota<label id="quota"><p> + +<sect2>Snapshot<label id="snapshot"><p> + +<sect2>ACLs<label id="acl"><p> + +<!-- ##################################################################### --> + +<sect>Volumes<p> + +<!-- ##################################################################### --> + +<sect1>PC Partitions<p> + +<itemize> + <item> <url url="http://www.win.tue.nl/~aeb/partitions/"> + Partition types document by Andries Brouwer <<htmlurl + name="aeb@cwi.nl" url="mailto:aeb@cwi.nl">> +</itemize> + +<sect2>GNU parted<p> +<itemize> + <item> Homepage: <url url="http://www.gnu.org/software/parted"> + <item> Download: <url url="ftp://ftp.gnu.org/gnu/parted/"> + <item> Authors: Andrew Clausen <<htmlurl + url="mailto:clausen@gnu.org" + name="clausen@gnu.org">>, + Lennert Buytenhek <<htmlurl + url="mailto:buytenh@dsv.nl" + name="buytenh@dsv.nl">> and + Matt Wilson <<htmlurl + url="mailto:msw@redhat.com" + name="msw@redhat.com">>. + <item> Bug reports: <<htmlurl + url="mailto:bug-parted@gnu.org" + name="bug-parted@gnu.org">>, + <item> Access: varies for each filesystem, see below. + <item> License: GPL +</itemize> +GNU Parted is a program for creating, destroying, resizing, checking and +copying partitions, and the filesystems on them. +<p> +This is useful for creating space for new operating systems, reorganising +disk usage, copying data between hard disks, and "disk imaging" - replicating +installations over many computers. +<p> + +Parted has support for these operations: +<verb> +Filesystem detect create resize copy check +ext2 * * *1 *2 *3 +fat * * *4 *4 * +linux-swap * * * * * +</verb> + +<bf>NOTES:</bf><p> +(1) The start of the partition must stay fixed for ext2.<p> + +(2) The partition you copy to must be bigger (or exactly the same size) +as the partition you copy from.<p> + +(3) 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 are any errors in the file +system (and the vast majority of errors in general).<p> + +(4) The size of the new partition, after resizing or copying, is restricted +by the cluster size for fat (mainly affects FAT16). This is worse than you +think, because you don't get to choose your cluster size (it's a bug in +Windows, but you want compatibility, right?).<p> + + So, in practise, you can always shrink your partition (because Parted +can shrink the cluster size), but you may not be able to grow the partition +to the size you want. If you don't have any problems with using FAT32, you +will always be able to grow the partition to the size you want. +<p> + Summary: you can always shrink your partition. If you can't use +FAT32 for some reason, you may not be able to grow your partition. + +<sect2>Repairing corrupted partition table<p> + +<sect3> Fixdisktable<p> +<itemize> + <item> Homepage: <url url="http://bmrc.berkeley.edu/people/chaffee/fat32.html"> + <item> Download: ? + <item> Author: ? + <item> Access: ? + <item> License: ? +</itemize> +This is a utility that handles ext2, FAT, NTFS, ufs, BSD disklabels +(but not yet old Linux swap partitions); it actually will rewrite +the partition table, if you give it permission. <p> + +<sect3> gpart<p> +<itemize> + <item> Homepage: <url url="http://home.pages.de/~michab/gpart/"> + <item> Download: ? + <item> Author: ? + <item> Access: ? + <item> License: ? +</itemize> +GPART is a utility +that handles ext2, FAT, Linux swap, HPFS, NTFS, FreeBSD and +Solaris/x86 disklabels, minix, reiser fs; it prints a proposed +contents for the primary partition table, and is well-documented. + +<sect3> rescuept<p> +<itemize> + <item> Homepage: util-linux ? + <item> Download: ? + <item> Author: ? + <item> Access: ? + <item> License: ? +</itemize> +Recognizes ext2 superblocks, +FAT partitions, swap partitions, and extended partition tables; +it may also recognize BSD disklabels and Unixware 7 partitions. +It prints out information that can be used with fdisk or sfdisk +to reconstruct the partition table. +It is in the non-installed part of the util-linux distribution. + +<sect3> findsuper<p> +<itemize> + <item> Homepage: e2progs ? + <item> Download: ? + <item> Author: ? + <item> Access: ? + <item> License: ? +</itemize> +Small utility that finds blocks with the ext2 +superblock signature, and prints out location and some info. +It is in the non-installed part of the e2progs distribution. + + +<!-- ##################################################################### --> + +<sect1>Other partitions<p> +Because I use <bf>only</bf> Intel x86 machines, any contributions (or non-x86 +machine donation ;-) ) are <bf>very</bf> welcome. If you can provide any useful +information, don't hesitate to mail <htmlurl url="mailto:mhi@penguin.cz" +name="me">.<p> + +<sect2>ADFS partitions<p> + +<sect2>Amiga partitions<p> + +<sect2>ATARI partitions<p> + +<sect2>Macintosh partitions<p> + +<sect2>OSF partitions<p> + +<sect2>Sun partitions<p> + +<sect2>Ultrix partitions<p> + +<!-- ##################################################################### --> + +<sect1>Unix disklabels<p> +(todo) + +<sect2>BSD disklabel<p> +(todo) + +<sect2>UnixWare disklabel<p> +UnixWare VTOC (Volume Table Of Contents) divides disk partition to 16 logical +partitions. Linux kernel supports UnixWare VTOC, you must check +"UnixWare slices support (EXPERIMENTAL)" and recompile your kernel. +Another way of reading UnixWare disklabel is using GPL port of prtvtoc(1) +command, which is in <ref id="vxtools" name="vxtools"> package. + +<sect2>SCO OpenServer disklabel<p> +(todo) + +<sect2>Sun Solaris disklabel<p> +(todo) + +<!-- ##################################################################### --> + +<sect1>Windows NT volumes<p> + +<itemize> + <item> Homepage: <url url="http://www.penguin.cz/~mhi/fs/vol/"> + <item> Author: Martin Hinner <<htmlurl + url="mailto:mhi@penguin.cz" + name="mhi@penguin.cz">> + <item> Access: Read-only, supports OS/2 Volumes, Windows NT Stripe sets and + volumes. + <item> Download: <url url="ftp://ftp.penguin.cz/pub/users/mhi/vol/"> + <item> License: GPL +</itemize> +This linux-kernel driver allows you to access and mount linear and stripe set +volumes. + +<sect2>Repairing "fault tolerant" NTFS disks using FTEdit +<label id="ntfs_ftedit"><p> +<itemize> + <item> Homepage: ? MS ARTICLE ID: Q131658 + <item> Download: <url url="ftp://ftp.rhrz.uni-bonn.de/pub/pc/winnt/intel/ftedit.zip"> + <item> Author: Microsoft Corp. + <item> License: ? +</itemize> +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. + + + +<!-- ##################################################################### --> + +<sect1>MD - Multiple Devices driver for Linux<p> + +<itemize> + <item> Homepage:? + <item> Author: Marc Zyngier <<htmlurl + url="mailto:maz@wild-wind.fr.eu.org" + name="maz@wild-wind.fr.eu.org">> + <item> Access: Read-write, supports linear mode, RAID-1, RAID-4 and RAID-5. + <item> Download: Linux kernel, tools are available at + <url url="ftp://sweet-smoke.ufr-info-p7.ibp.fr/public/Linux/"> + <item> License: GPL +</itemize> + 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. +<p> + +<!-- ##################################################################### --> + +<sect1>LVM - Logical Volume Manager (HP-UX LVM?)<label id="lvm"><p> +Linux implementation is available here: + +<itemize> + <item> Homepage: <url url="http://linux.msede.com/lvm/"> + <item> Author: Heinz Mauelshagen <<htmlurl + url="mailto:mauelsha@ez-darmstadt.telekom.de" + name="mauelsha@ez-darmstadt.telekom.de">> + <item> Access: ? + <item> Download: <url url="ftp://linux.msede.com/lvm/v0.6/"> + <item> License: GPL +</itemize> + +<!-- ##################################################################### --> + +<sect1>VxVM - Veritas Volume Manager<p><label id="vxvm"> +For more information about Veritas Volume Manager see +<url url="http://www.veritas.com/">. + +See also: <ref id="vxfs" name="VxFS (Veritas Journaling Filesystem)">. + +<!-- ##################################################################### --> + +<sect1>IBM OS/2 LVM<p> +Logical Volume Manager is available in OS/2 WarpServer 5. It allows you to +create linear volumes on several disks/partitions. Some people say that it's +compatible with IBM AIX Logical Volume Manager. <p> + +See also: <ref id="hpfs" name="HPFS">, <ref id="jfs" name="JFS"> + +<!-- ##################################################################### --> + +<sect1>StackVM<p> + +StackVM is CrosStor's volume manager. Using StackVM the +administrator can combine multiple physical disk slices into a single +logical device know as a vdisk. Vdisk is short for virtual disk. The +physical disks can be combined to form a concatenation, RAID 0 (stripe), +RAID 1 (mirror), RAID 4 or RAID 5. In addition a single disk partition can +be subdivided into multiple simple vdisks. For more information see CrosStor +homepage at <url url="http://www.crosstor.com/">. + +<!-- ##################################################################### --> + +<sect1>Novell NetWare volumes<label id="nwvol"><p> +NetWare volumes are used for NWFS-386 filesystem. + +<!-- ##################################################################### --> + +<sect>DOS FAT 12/16/32, VFAT<label id="fat"><label id="vfat"> +<label id="fat12"><label id="fat16"><label id="fat32"><p> + +<sect1>VFAT: Long filenames<p> +Windows 95/98 and Windows NT/2000 store long filenames on FAT in special +directory entries with set attributes <bf>ReadOnly</bf>, <bf>Hidden</bf>, +<bf>System</bf> and <bf>Volume</bf>, so if you access FAT volume from DOS +you don't see these "files". These special entries have this mad structure: + +<verb> +byte sequence number for slot +string(10) first 5 characters in name +byte attribute byte +byte always 0 +byte checksum for 8.3 alias +string(12) 6 more characters in name +word starting cluster number, 0 in long slots +string(4) last 2 characters in name +</verb> + +Problem occur when you delete or modify file with long name from system without +VFAT support, because only DOS 8+3 entry will be deleted or modified. Scandisk +from Windows 95/98 can repair this problem. +<p> + +<sect1>UMSDOS: Linux LFN/attributes on FAT filesystem<p> +Linux has it's own FAT extensions which gives you long filenames, permissions +and owners, links and special devices on FAT partition, called UMSDOS. +Each directory contains file named +<bf>"--linux-.---"</bf>. There are stored long names and other necessary +fields. For more information see file <bf>/usr/src/linux/Documentation/filesystems/umsdos.txt</bf>. Author of Linux umsdos driver is Jacques Gelinas +<<htmlurl url="mailto:jacques@solucorp.qc.ca" name="jacques@solucorp.qc.ca">> +and it is currently maintained by Matija Nalis +<<htmlurl url="mailto:mnalis@jagor.srce.hr" name="mnalis@jagor.srce.hr">>. +<p> + +<sect1>OS/2 Extended Attributes on FAT filesystems<p> +OS/2 Warp version 3,4 and 5 stores long filenames and extended attributes on FAT +volume in files "\ea data. sf" and "\wp root. sf" (both files are in root +directory of filesystem). AFAIK there is no known implementation of OS/2 EAs +for any other OS. If you can supply any information about EA structure, don't +hesitate to mail them to <htmlurl url="mailto:mhi@penguin.cz" name="me">. +<p> + +<sect1>Star LFN<p> +Star LFN is an emulator that allows programs, running under DOS 4.0 or +above, to use the long filename functions present in Windows'95 DOS +boxes. Currently, it can only read and write long filenames from and +into a system+hidden file, which means you can't either read or write +real Windows'95 long filenames. For more information see +<url url="http://sta.c64.org/starlfn.html">. +<p> + +<sect1>Accessing VFAT from OS/2 (VFAT-OS2) <label id="vfat_os2"><p> +<itemize> + <item> Homepage: <url url="http://www.dsteiner.com/products/software/os2/ifs.htm"> + <item> Author: Daniel Steiner <<htmlurl + url="mailto:info@dsteiner.com" + name="info@dsteiner.com">> + <item> Access: Read-Write, no EAs supported. + <item> Mirror: <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/"> + <item> License: GPL +</itemize> +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. + +<sect1>Accessing VFAT from DOS (LFNDOS driver) <label id="vfat_dos"><p> +Some people say that Microsoft has released a driver called LFNDOS that +provides the Microsoft Long Filename API under DOS. If you know where can this +driver be downloaded, send me e-mail please. + +<sect1>Accessing VFAT from DOS (Free LFNDOS driver) <label id="vfat_dos3"><p> +<itemize> + <item> Homepage: <url url="http://members.xoom.com/dosuser/"> + <item> Author: Chris Jones <<htmlurl + url="mailto:dosuser@bigfoot.com" + name="dosuser@bigfoot.com">> + <item> Access: Read-Write + <item> Mirror: <url url="http://www.simtel.net/pub/simtelnet/msdos/fileutil/lfnds106.zip"> + <item> License: Free, source code available +</itemize> +LFNDOS provides the Windows95 Long Filename (LFN) API to DOS programs. +It uses the same format for storing the +names on disk as Windows95 does, so you can view and use long filenames under +both systems interchangeably. It runs as a memory-resident program, and while resident requires about 60k of conventional memory. +<p> + +Under Windows95, a DOS program can use long filenames by calling a set +of interrupt functions, which Windows provides. For example, COMMAND.COM +will allow long filenames when run as a DOS Prompt from Windows, but not +if you restart in MS-DOS mode. Other programs such as EDIT.COM and all DJGPP +programs use long filenames if available. + +<sect1>Accessing VFAT from DOS (Odi's LFN tools) <label id="vfat_dos3"><p> +<itemize> + <item> Homepage: <url url="http://odi.webjump.com/"> + <item> Author: Ortwin Glueck <<htmlurl + url="mailto:glueck@freesurf.ch" + name="glueck@freesurf.ch">> + <item> Access: Read-Write, only DOS utilities + <item> Mirror: <url url="http://www.simtel.net/pub/simtelnet/msdos/fileutil/lfn141.zip"> + <item> License: ? +</itemize> +These tools provide easy file management under DOS with long filenames +created by Windows 95/98 on FAT32, FAT16 and FAT12 file systems. +Typing LDIR brings up the directory with its +long filenames. Copying a file with LCOPY preserves long filenames. +You can even create directories (LMD) with long names or rename files +(LREN) with long names. + + +<sect1>Accessing FAT32 from OS/2 (FAT32.IFS) <label id="fat32_from_os2"><p> +<itemize> + <item> Homepage: <url url="http://www.os2ss.com/information/kelder/index.html"> + <item> Author: Henks Kelder < <htmlurl url="mailto:hkelder@capgemini.nl" + name="hkelder@capgemini.nl"> > + <item> Access: Read-Write, long filenames, no EAs support. + <item> Download: <url url="http://www.os2ss.com/information/kelder/os2fat32.zip"> + <item> License: Free +</itemize> +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. + +<sect1>Accessing FAT32 from Windows NT 4.0 <label id="fat32_from_nt4"><p> +<itemize> + <item> Download: <url url="http://www.chat.ru/~ashedel/fat32/fastfat32.rar"> + <item> Author: Anonymous + <item> License: Free or GPL ? +</itemize> +FAT32 filesystem driver for NT 4.0 and NT 3.51. + + +<sect1>Accessing FAT32 from Windows NT 4.0 <label id="fat32_from_nt4_2"><p> +<itemize> + <item> Homepage: <url url="http://www.sysinternals.com/fat32.htm"> + <item> Author: Mark Russinovich <<htmlurl + url="mailto:mark@sysinternals.com" + name="mark@sysinternals.com">> and + Bryce Cogswell <<htmlurl + url="mailto:cogswell@winternals.com" + name="cogswell@winternals.com">>. + <item> Access: Read-only in free version, RW in commercial. + <item> Download: ? + <item> License: Free(read-only) or Commercial(read-write) +</itemize> +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. + +<sect1>Accessing Stac/Dblspaced/Drvspaced drives from Linux (DMSDOS) + <label id="dmsdos_from_linux"><p> +<itemize> + <item> Homepage: <url url="http://fb9nt.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/"> + <item> Author: Frank Gockel + <<htmlurl url="mailto:gockel@sent13.uni-duisburg.de" + name="gockel@sent13.uni-duisburg.de">> and + Pavel Pisa <<htmlurl url="mailto:pisa@cmp.felk.cvut.cz" + name="pisa@cmp.felk.cvut.cz">> + <item> Access: Stacker, Dblspace and Drvspace in Read-Write mode, + long filenames. + <item> Download: <url url="ftp://fb9nt.uni-duisburg.de/pub/linux/dmsdos/"> + <item> Freshmeat: Console/Filesystems + <item> License: GPL +</itemize> +DMSDOS reads and writes compressed DOS filesystems (CVF-FAT). The following +configurations are supported: +<itemize> + <item> DoubleSpace / DriveSpace (MS-DOS 6.x) + <item> DoubleSpace / DriveSpace (Windows 95) + <item> DriveSpace 3 (Windows 95 with Plus! pack) + <item> Stacker 3 + <item> Stacker 4 +</itemize> +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. + +<sect1>Accessing Dblspaced/Drvspaced drives from Linux (thsfs) + <label id="dblspace_from_linux"><p> +<itemize> + <item> Download: <url url="ftp://ftp.ai-lab.fh-furtwangen.de/pub/os/linux/local/thsfs.tgz"> + <item> Author: Thomas Scheuermann <<htmlurl + url="mailto:ths@ai-lab.fh-furtwangen.de" + name="ths@ai-lab.fh-furtwangen.de">> + <item> Access: Dblspace and Drvspace in Read-only mode. + <item> License: See copyright on files. Basically free +</itemize> + +<sect1>Fsresize - FAT16/32 resizer<label id="fsresize"><p> +<itemize> + <item> Homepage: <url url="http://www.alphalink.com.au/~clausen/fsresize/"> + <item> Author: Andrew Clausen <<htmlurl + url="mailto:clausen@alphalink.com.au" + name="clausen@alphalink.com.au">> + <item> Download: <url url="http://www.alphalink.com.au/~clausen/fsresize-0.8.tar.gz" + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1999/01/09/915912424.html" + name="Console/Filesystems"> + <item> Access: Read/Write, full FAT16/FAT32 support + <item> License: GPL +</itemize> +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. +<p> + +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. + + +<sect1>FIPS - FAT16 resizer<label id="fips"><p> +<itemize> + <item> Homepage: ? + <item> Author: Arno Schaefer <<htmlurl + url="mailto:schaefer@rbg.informatik.th-darmstadt.de" + name="schaefer@rbg.informatik.th-darmstadt.de">> + <item> Download: <url url="ftp://sunsite.unc.edu/pub/Linux/system/Install/fips01alpha.tar.z"> + <item> License: GPL +</itemize> + +<sect>High Performance FileSystem (HPFS)<label id="hpfs"><p> + +Good HPFS links: +<itemize> + <item> <url url="ftp://ftp.leo.org/pub/comp/os/os2/leo/doc/hpfsinf.zip"> + <item> <url url="ftp://hobbes.nmsu.edu/pub/os2/info/tips/hpfs.zip"> + <item> <url url="http://www.globalxs.nl/home/c/cyborg/index.html"> + - a good page about HPFS accessibility + <item> <url url="http://www-4.ibm.com/software/os/warp/warp-server/warp-server-adv/c2j.html"> + - IBM OS/2 Warp Server : Features & Benefits : File & Print +</itemize> + +<sect1>Accessing HPFS from DOS (iHPFS)<label id="ihpfs"><p> +<itemize> + <item> Homepage:<url url="http://www.student.nada.kth.se/~f96-bet/ihpfs/"> + <item> Author: Marcus Better <htmlurl url="mailto:Marcus.Better@abc.se" + name="Marcus.Better@abc.se"> + <item> Download: + <url url="http://www.student.nada.kth.se/~f96-bet/ihpfs/ihpfs128.zip"> + <item> Access: Read-only + <item> License: GPL +</itemize> + +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. +<p> + +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. + +<sect1>Accessing HPFS from DOS (hpfsdos)<label id="hpfs_from_dos5"><p> +<itemize> + <item> Homepage: ? + <item> Author: Robert Muchsel <<htmlurl + url="mailto:rmuchsel@iiic.ethz.ch" + name="rmuchsel@iiic.ethz.ch">> (this e-mail doesn't work) + <item> Access: Read-only + <item> License: Shareware ($23) +</itemize> + + +<sect1>Accessing HPFS from DOS (hpfsa)<label id="hpfs_from_dos2"><p> +<itemize> + <item> Homepage: <url url="http://www.student.informatik.th-darmstadt.de/~akinzler/"> + <item> Author: Andreas Kinzler <<htmlurl + url="mailto:akinzler@rbg.informatik.th-darmstadt.de" + name="akinzler@rbg.informatik.th-darmstadt.de">> + (this email doesn't work) + <item> Download: + <url url="ftp://ftp.cdrom.com/.1/os2/mdos/hpfsa102.zip"> + <item> Access: Read/Write + <item> License: Shareware ($40) +</itemize> + +<sect1>Accessing HPFS from DOS (amos)<label id="hpfs_from_dos3"><p> +<itemize> + <item> Homepage: ? + <item> Author: Allan Mertner <<htmlurl url="mailto:mertner@login.dknet.dk" + name="mertner@login.dknet.dk">> + (this email doesn't work) + <item> Download: <url url="ftp://hobbes.nmsu.edu/pub/dos/amos320.zip"> + <item> License: Shareware ($50) +</itemize> + +<sect1>Accessing HPFS from Linux<label id="hpfs_linux"><p> +<itemize> + <item> Homepage:<url url="http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi"> + <item> Download: + <url url="http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/hpfs-0.99b.tar.gz"> for 2.0 kernels; and + <url url="http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/hpfs-1.98b.tar.gz"> for 2.2 kernels + <item> Author: Mikulas Patocka + < <htmlurl url="mailto:mikulas@artax.karlin.mff.cuni.cz" + name="mikulas@artax.karlin.mff.cuni.cz"> > + <item> Access: Read-Write, extended attributes, long names. + <item> License: GPL +</itemize> +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 Server Advanced. <p> + +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). + +<sect1>Accessing HPFS from FreeBSD<label id="hpfs_freebsd"><p> +<itemize> + <item> Homepage: <url url="http://iclub.nsu.ru/~semen/"> + <item> Download: <url url="http://iclub.nsu.ru/~semen/hpfs/hpfs-0.3b.tar.gz"> + <item> Author: Semen A. Ustimenko + < <htmlurl url="mailto:semenu@FreeBSD.org" + name="semenu@FreeBSD.org"> > + <item> Access: Read/Only + <item> License: BSD +</itemize> +Driver allows to mount HPFS volume into Unix namespace. +ReadOnly access is only supported for now. + +<sect1>Accessing HPFS from Windows NT 3.5<label id="hpfs_from_nt"><p> +<itemize> + <item> Homepage:<url url="http://www.htc.net/~nbehnken/"> + <item> Download: + <url url="http://www.htc.net/~nbehnken/hpfs_nt.zip"> + <item> Author: Chris Behnken + < <htmlurl url="mailto:nbehnken@htc.net" + name="nbehnken@htc.net"> > + <item> License: Freeware +</itemize> +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. + +<sect1>Accessing HPFS from Windows NT 4<label id="hpfs_from_nt4"><p> +<itemize> + <item> Download: + <url url="ftp://hobbes.nmsu.edu/pub/windows/hpfsnt.zip"> + <item> Author: ? + <item> License: ? +</itemize> +HPFS driver for Windows NT 4.0 + + + +<sect>New Technology FileSystem (NTFS)<p> + +References: +<itemize> + <item> <url url="http://www.microsoft.com/msj/1198/ntfs/ntfstop.htm"> + NTFS 5 information + <item> Rajeev Nagar, + <htmlurl url="http://www.ora.com/catalog/wininternals/noframes.html" + name="Windows NT File System Internals"> (O'Reilly). + <item> Helen Custer, Inside the Windows NT File System, ISBN: 1-55615-660-X. + <item> NTFS documentation by Regis Duchesne + <<htmlurl url="mailto:regis@via.ecp.fr" name="regis@via.ecp.fr">>, + <url url="http://www.via.ecp.fr/~regis/ntfs.tar.bz2"> or + <url url="http://celine.via.ecp.fr/~regis/ntfs/new"> + <item> Microsoft TechNet, February 97, Windows NT Training: Support, NTFS + <item> <url url="http://www.stat.math.ethz.ch/~maechler/NTFS-docu"> +</itemize> + +<sect1>Accessing NTFS from DOS (NTFSDOS.EXE) +<label id="ntfs_from_dos"><p> +<itemize> + <item> Homepage: <htmlurl url="http://www.sysinternals.com/ntfs20.htm" + name="http://www.sysinternals.com/ntfs20.htm"> + <item> Authors: Mark Russinovich <<htmlurl + url="mailto:mark@sysinternals.com" + name="mark@sysinternals.com">> and + Bryce Cogswell <<htmlurl + url="mailto:cogswell@winternals.com" + name="cogswell@winternals.com">>. + <item> Access: Read-only, Long filenames under DOS 7 and Win9x. +</itemize> +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. + +<sect1>Accessing NTFS from DOS (ntpwd) +<label id="ntfs_from_dos2"><p> +<itemize> + <item>Homepage: <url url="http://www.esiea.fr/public_html/Christophe.GRENIER/"> + <item>Author: Grenier Christophe < + <htmlurl url="mailto:grenier@nef.esiea.fr" + name="grenier@nef.esiea.fr"> > + <item> Access: Read-only (rw experimental), long filenames supported, + no driver letter (dos tools) + <item> License: GPL +</itemize> + +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. + + +<sect1>Accessing NTFS from OS/2<label id="ntfs_from_os2"><p> +<itemize> + <item> Homepage: <url url="http://www.dsteiner.com/products/software/os2/ifs.htm"> + <item> Mirror: <url url="ftp://ftp-os2.nmsu.edu/pub/os2/system/drivers/filesys/ntfs_003.zip">, + <url url="ftp://ftp.leo.org/pub/comp/os/os2/leo/drivers/ifs"> + <item> Author: Daniel Steiner < <htmlurl + url="mailto:info@dsteiner.com" + name="info@dsteiner.com"> > + <item> Access: Read-only, Long filenames supported +</itemize> +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 +<ref id="vfat_os2" name="VFAT-OS2"> v0.05. + +<sect1>Accessing NTFS from Linux<label id="ntfs_from_linux"><p> +<itemize> + <item> Homepage: <url url="http://www.informatik.hu-berlin.de/~loewis/ntfs/"> + <item> Author: Martin von Lwis <htmlurl + url="mailto:loewis@informatik.hu-berlin.de" + name="loewis@informatik.hu-berlin.de"> + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1998/07/04/899562556.html" + name="Console/Filesystems"> + <item> Homepage: <url url="http://www.informatik.hu-berlin.de/~loewis/ntfs/ntfs-current.tgz"> + <item> Mirror: Included in official Linux kernel + <item> Access: RO, experimental RW, compression, no encryption + <item> License: GPL +</itemize> +Works both as a kernel driver, as well as a set of command line utilities. + +<sect1>Accessing NTFS from FreeBSD and NetBSD<label id="ntfs_freebsd"><p> +<itemize> + <item> Homepage: <url url="http://iclub.nsu.ru/~semen/ntfs/"> + <item> Author: Semen A. Ustimenko + <<url url="mailto:semenu@FreeBSD.org" + name="semenu@FreeBSD.org">> + <item> Download: As part of FreeBSD + (<url url="ftp://ftp.FreeBSD.org/pub/FreeBSD/">), + and NetBSD (<url url="ftp://ftp.NetBSD.org/pub/NetBSD/">) + <item> Mirror: Lookup for FreeBSD's and NetBSD's mirrors + <item> Access: Read + limited writing, doesn't support codepages + <item> License: BSD +</itemize> +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. + +<sect1>Accessing NTFS from BeOS<label id="ntfs_from_beos2"><p> +<itemize> + <item> Homepage: <url url="http://www.cs.tamu.edu/people/tkg0143/be/"> + <item> Author: Travis Geiselbrecht + < <htmlurl url="mailto:geist@tamu.edu" + name="geist@tamu.edu"> > + <item> Download: <url url="http://www.cs.tamu.edu/people/tkg0143/be/downloads/ntfs-0.05-x86-r4.zip"> + <item> Access: ? + <item> License: Free +</itemize> +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. <p> + +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. + +<sect1>Accessing NTFS from BeOS (another)<label id="ntfs_from_beos"><p> +<itemize> + <item> Homepage: <htmlurl url="http://www.sw.com.sg/solutions/ntfs-ro.shtml" + name="http://www.sw.com.sg/solutions/ntfs-ro.shtml"> + <item> Author: Standard & Western Software, + <htmlurl url="http://www.sw-soft.com" + name="http://www.sw-soft.com"> + <item> Download: <htmlurl + url="http://download.sw.com.sg/pub/Be/ntfs-rod-0302.tar.gz" + name="http://download.sw.com.sg/pub/Be/ntfs-rod-0302.tar.gz"> + <item> Access: Read-only. +</itemize> + + +<sect1>Repairing NTFS using NTFSDOS Tools<label id="ntfs_dostools"><p> +<itemize> + <item> Homepage: <url url="http://www.sysinternals.com/"> + <item> Author: Winternals Software <<htmlurl + url="mailto:info@winternals.com" + name="info@winternals.com">> + <item> Access: Read-Write: Copy and replace files. + <item> License: Commercial +</itemize> +An add-on to NTFSDOS that allows one to rename existing files, +or to overwrite a file with new data. Very limited functionality. + + +<sect1>Repairing NTFS using NTRecover <label id="ntfs_ntrecover"><p> +<itemize> + <item> Homepage: <url url="http://www.sysinternals.com/"> + <item> Author: Winternals Software <<htmlurl + url="mailto:info@winternals.com" + name="info@winternals.com">> + <item> Access: Freeware version is read-only, commercial version is read/write. + <item> License: Freeware read-only version, commercial read/write version +</itemize> +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. + +<sect>Extended filesystems (Ext, Ext2, Ext3) +<label id="ext"><label id="ext2"><label id="ext3"><p> +Extended filesystem (ext fs), second extended filesystem (ext2fs) +and third extended filesystem (ext3fs) were designed and implemented on +Linux by Rmy Card, Laboratoire MASI--Institut Blaise Pascal, +<<htmlurl url="mailto:card@masi.ibp.fr" name="card@masi.ibp.fr">>, +Theodore Ts'o, Massachussets Institute of Technology, +<<htmlurl url="mailto:tytso@mit.edu" name="tytso@mit.edu">> and +Stephen Tweedie, University of Edinburgh, +<<htmlurl url="mailto:sct@redhat.com" name="sct@redhat.com">> +<p> + +<itemize> + <item> <url url="http://web.mit.edu/tytso/www/linux/ext2.html"> + - The ext2 homepage. This is the primary source of information + about ext2. + <item> <url url="http://uranus.it.swin.edu.au/~jn/explore2fs/es2fs.htm"> - + Document about ext2fs from John Newbigin. + <item> <url url="http://www.ing.umu.se/~bosse/"> - Ext2fs_Rec (ext2 recognizer + for WinNT). +</itemize><p> + +<sect1>Extended filesystem (ExtFS)<p> +This is old filesystem used in early Linux systems. <p> + +<sect1>Second Extended Filesystem (Ext2 FS)<p> +The Second Extended File System is probably the most widely +used filesystem in the Linux community. It provides standard +Unix file semantics and advanced features. Moreover, thanks to +the optimizations included in the kernel code, it is robust and +offers excellent performance. +<p> + +Since Ext2fs has been designed with evolution in mind, it +contains hooks that can be used to add new features. Some +people are working on extensions to the current filesystem: +access control lists conforming to the Posix semantics, undelete, +and on-the-fly file compression. +<p> + +Ext2fs was first developed and integrated in the Linux +kernel and is now actively being ported to other operating +systems. An Ext2fs server running on top of the GNU Hurd has +been implemented. People are also working on an Ext2fs port in +the LITES server, running on top of the Mach microkernel +and in the VSTa operating system. Last, but not least, Ext2fs is an +important part of the Masix operating system, currently under +development by one of the authors. + +<sect2>Motivations<p> +The Second Extended File System has been designed and +implemented to fix some problems present in the first Extended +File System. Our goal was to provide a powerful filesystem, +which implements Unix file semantics and offers advanced +features. +<p> + +Of course, we wanted to Ext2fs to have excellent +performance. We also wanted to provide a very robust +filesystem in order to reduce the risk of data loss in +intensive use. Last, but not least, Ext2fs had to include +provision for extensions to allow users to benefit from new +features without reformatting their filesystem. +<p> + +<sect2>``Standard'' Ext2fs features<p> +The Ext2fs supports standard Unix file types: regular files, +directories, device special files and symbolic links. +<p> + +Ext2fs is able to manage filesystems created on really big +partitions. While the original kernel code restricted the +maximal filesystem size to 2 GB, recent work in the VFS layer +have raised this limit to 4 TB. Thus, it is now possible to use +big disks without the need of creating many partitions. +<p> + +Ext2fs provides long file names. It uses variable length +directory entries. The maximal file name size is 255 +characters. This limit could be extended to 1012 if needed. +<p> + +Ext2fs reserves some blocks for the super user +(<TT>root</TT>). Normally, 5% of the blocks are reserved. This +allows the administrator to recover easily from situations +where user processes fill up filesystems. +<p> + +<sect2>``Advanced'' Ext2fs features<p> +In addition to the standard Unix features, Ext2fs supports +some extensions which are not usually present in Unix +filesystems. +<p> + +File attributes allow the users to modify the kernel +behavior when acting on a set of files. One can set attributes +on a file or on a directory. In the later case, new files +created in the directory inherit these attributes. +<p> + +BSD or System V Release 4 semantics can be selected at mount +time. A mount option allows the administrator to choose the +file creation semantics. On a filesystem mounted with BSD +semantics, files are created with the same group id as their +parent directory. System V semantics are a bit more complex: if +a directory has the setgid bit set, new files inherit the group +id of the directory and subdirectories inherit the group id and +the setgid bit; in the other case, files and subdirectories are +created with the primary group id of the calling process. +<p> + +BSD-like synchronous updates can be used in Ext2fs. A mount +option allows the administrator to request that metadata +(inodes, bitmap blocks, indirect blocks and directory blocks) +be written synchronously on the disk when they are modified. +This can be useful to maintain a strict metadata consistency +but this leads to poor performances. Actually, this feature is +not normally used, since in addition to the performance loss +associated with using synchronous updates of the metadata, it +can cause corruption in the user data which will not be flagged +by the filesystem checker. +<p> + +Ext2fs allows the administrator to choose the logical block +size when creating the filesystem. Block sizes can typically be +1024, 2048 and 4096 bytes. Using big block sizes can speed up +I/O since fewer I/O requests, and thus fewer disk head seeks, +need to be done to access a file. On the other hand, big blocks +waste more disk space: on the average, the last block allocated +to a file is only half full, so as blocks get bigger, more +space is wasted in the last block of each file. In addition, +most of the advantages of larger block sizes are obtained by +Ext2 filesystem's preallocation techniques. +<p> + +Ext2fs implements fast symbolic links. A fast symbolic link +does not use any data block on the filesystem. The target name +is not stored in a data block but in the inode itself. This +policy can save some disk space (no data block needs to be +allocated) and speeds up link operations (there is no need to +read a data block when accessing such a link). Of course, the +space available in the inode is limited so not every link can +be implemented as a fast symbolic link. The maximal size of the +target name in a fast symbolic link is 60 characters. We plan +to extend this scheme to small files in the near future. +<p> + +Ext2fs keeps track of the filesystem state. A special field +in the superblock is used by the kernel code to indicate the +status of the file system. When a filesystem is mounted in +read/write mode, its state is set to ``Not Clean''. When it is +unmounted or remounted in read-only mode, its state is reset to +``Clean''. At boot time, the filesystem checker uses this +information to decide if a filesystem must be checked. The +kernel code also records errors in this field. When an +inconsistency is detected by the kernel code, the filesystem is +marked as ``Erroneous''. The filesystem checker tests this to +force the check of the filesystem regardless of its apparently +clean state. +<p> + +Always skipping filesystem checks may sometimes be +dangerous, so Ext2fs provides two ways to force checks at +regular intervals. A mount counter is maintained in the +superblock. Each time the filesystem is mounted in read/write +mode, this counter is incremented. When it reaches a maximal +value (also recorded in the superblock), the filesystem checker +forces the check even if the filesystem is ``Clean''. A last +check time and a maximal check interval are also maintained in +the superblock. These two fields allow the administrator to +request periodical checks. When the maximal check interval has +been reached, the checker ignores the filesystem state and +forces a filesystem check. +<p> + +An attribute allows the users to request secure deletion on +files. When such a file is deleted, random data is written in +the disk blocks previously allocated to the file. This prevents +malicious people from gaining access to the previous content of +the file by using a disk editor. +<p> + +Last, new types of files inspired from the 4.4 BSD +filesystem have recently been added to Ext2fs. Immutable files +can only be read: nobody can write or delete them. This can be +used to protect sensitive configuration files. Append-only +files can be opened in write mode but data is always appended +at the end of the file. Like immutable files, they cannot be +deleted or renamed. This is especially useful for log files +which can only grow. +<p> + +<sect2>Physical Structure<p> + +The physical structure of Ext2 filesystems has been strongly +influenced by the layout of the BSD filesystem. A +filesystem is made up of block groups. Block groups are +analogous to BSD FFS's cylinder groups. However, block groups +are not tied to the physical layout of the blocks on the disk, +since modern drives tend to be optimized for sequential access +and hide their physical geometry to the operating system. +<verb> +,---------+---------+---------+---------+---------, +| Boot | Block | Block | ... | Block | +| sector | group 1 | group 2 | | group n | +`---------+---------+---------+---------+---------' +</verb> +<p> + +Each block group contains a redundant copy of crucial filesystem +control informations (superblock and the filesystem descriptors) and +also contains a part of the filesystem (a block bitmap, an inode +bitmap, a piece of the inode table, and data blocks). The structure of +a block group is represented in this table: +<verb> +,---------+---------+---------+---------+---------+---------, +| Super | FS | Block | Inode | Inode | Data | +| block | desc. | bitmap | bitmap | table | blocks | +`---------+---------+---------+---------+---------+---------' +</verb> +<p> + +Using block groups is a big win in terms of reliability: +since the control structures are replicated in each block +group, it is easy to recover from a filesystem where the +superblock has been corrupted. This structure also helps to get +good performances: by reducing the distance between the inode +table and the data blocks, it is possible to reduce the disk +head seeks during I/O on files. +<p> + +In Ext2fs, directories are managed as linked lists of +variable length entries. Each entry contains the inode number, +the entry length, the file name and its length. By using +variable length entries, it is possible to implement long file +names without wasting disk space in directories. +<p> + + +<sect2>Performance optimizations<p> +In Linux, the Ext2fs kernel code contains many performance +optimizations, which tend to improve I/O speed when reading and +writing files. +<p> + +Ext2fs takes advantage of the buffer cache management by +performing readaheads: when a block has to be read, the kernel +code requests the I/O on several contiguous blocks. This way, +it tries to ensure that the next block to read will already be +loaded into the buffer cache. Readaheads are normally performed +during sequential reads on files and Ext2fs extends them to +directory reads, either explicit reads (<TT>readdir(2)</TT> +calls) or implicit ones (<TT>namei</TT> kernel directory +lookup). +<p> + +Ext2fs also contains many allocation optimizations. Block +groups are used to cluster together related inodes and data: +the kernel code always tries to allocate data blocks for a file +in the same group as its inode. This is intended to reduce the +disk head seeks made when the kernel reads an inode and its +data blocks. +<p> + +When writing data to a file, Ext2fs preallocates up to 8 +adjacent blocks when allocating a new block. Preallocation hit +rates are around 75% even on very full filesystems. This +preallocation achieves good write performances under heavy +load. It also allows contiguous blocks to be allocated to +files, thus it speeds up the future sequential reads. +<p> + +These two allocation optimizations produce a very good locality of: +<itemize> + <item> related files through block groups + <item> related blocks through the 8 bits clustering of block allocations. +</itemize> +<p> + +<sect1>Third Extended Filesystem (Ext3 FS)<p> +Ext3 support the same features as Ext2, but includes also Journaling. You +can download pre- version from +<url url="ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/">. + +<sect1>E2compr - Ext2fs transparent compression <label id="ext2_compress"><p> +<itemize> + <item> Homepage: <url url="http://opensource.captech.com/e2compr/"> + <item> Download: <url url="ftp://opensource.captech.com/e2compr/"> + <item> Maintainer: Peter Moulder <<htmlurl + url="mailto:reiter@netspace.net.au" + name="reiter@netspace.net.au">> + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1999/03/27/922549870.html" + name="Console/Filesystems"> + <item> Access: As for ext2 (Read/Write, Long filenames) + <item> License: GPL except for compression algorithms (various licenses) +</itemize> +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). +<bf>Although some people have been relying on it for years, +THIS SOFTWARE IS STILL IN DEVELOPMENT, AND IS NOT ,END-USER`-READY.</bf> + +<sect1>Accessing Ext2 from DOS (Ext2 tools)<label id="ext2_from_dos"><p> +<itemize> + <item> Download:<htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ext2/" + name="ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ext2/"> + <item> Access: Read-only, no drive letters (special utilites) + <item> Author: Claus Tondering <<htmlurl + url="mailto:ct@login.dknet.dk" + name="ct@login.dknet.dk">> + <item> Access: ? + <item> License: ? +</itemize> +A collection of DOS programs that allow you to read a Linux ext2 file system +from DOS. + +<sect1>Accessing Ext2 from DOS, Windows 9x/NT and other Unixes (LTools)<label id="ext2_from_dos2"><p> +<itemize> + <item> Homepage: <url url="http://www.it.fht-esslingen.de/~zimmerma/software/ltools.html"> + <item> Author: Werner Zimmermann <<htmlurl + url="mailto:Werner.Zimmermann@fht-esslingen.de" + name="Werner.Zimmermann@fht-esslingen.de">> + <item> Homepage: <url url="http://www.it.fht-esslingen.de/~zimmerma/software/ltools.htm"> + <item> Mirror: <url url="http://metalab.unc.edu/pub/linux/utils/dos/"> + (only major releases) + <item> Access: Read/Write/Modify, Long filenames + <item> License: GPL +</itemize> +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. + + +<sect1>Accessing Ext2 from OS/2<label id="ext2_os2"><p> +<itemize> + <item> Homepage:<url url="http://perso.wanadoo.fr/matthieu.willm/ext2-os2/"> + <item> Author: Matthieu WILLM <<htmlurl + url="mailto:willm@ibm.net" + name="willm@ibm.net">> , + <<htmlurl url="mailto:matthieu.willm@wanadoo.fr" + name="matthieu.willm@wanadoo.fr">> + <item> Download: <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/ext2_240.zip"> + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1999/05/30/928069144.html" + name="Console/Filesystems"> + <item> Access: Read/Write, swapping and booting to/from ext2, + removable media support, but NO extended attributes. +</itemize> +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. + +<sect1>Accessing Ext2 from Windows 95/98 (FSDEXT2) +<label id="ext2_from_win95"><p> +<itemize> + <item> Homepage:<htmlurl url="http://www.yipton.demon.co.uk/" + name="http://www.yipton.demon.co.uk/"> + <item> Author: Peter van Sebille <htmlurl + url="mailto:pvs@globalxs.nl" + name="pvs@globalxs.nl"> , + <htmlurl url="mailto:pese@nlnwgfsc.origin.nl" + name="pese@nlnwgfsc.origin.nl"> + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1998/10/14/908381784.html" + name="Console/Filesystems"> + <item> Access: Read-only, Long filenames supported +</itemize> + +<sect1>Accessing Ext2 from Windows 95 (Explore2fs) +<label id="ext2_from_win952"><p> +<itemize> + <item> Homepage:<url url="http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm"> + <item> Access: Read/Write, Long filenames, symbolic links etc... + <item> Author: John Newbigin <<htmlurl + url="mailto:jn@it.swin.edu.au" + name="jn@it.swin.edu.au">> + <item> License: GPL +</itemize> +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. + +<sect1>Accessing Ext2 from Windows NT (ext2fsnt) +<label id="ext2_from_winnt"><p> +<itemize> + <item> Homepage: <url url="http://www.chat.ru/~ashedel/ext2fsnt/"> + <item> Download: <url url="http://www.chat.ru/~ashedel/ext2fsnt/ext2fsnt.rar"> + <item> Author: Andrey Shedel < <htmlurl + url="mailto:andreys@cr.cyco.com" + name="andreys@cr.cyco.com"> > + <item> Freshmeat: + <htmlurl url="http://freshmeat.net/appindex/2000/08/23/967035557.html" + name="Console/Filesystems"> + <item> License: Free + <item> Access: Read-write, LFN, Security, PageFile, Hardlinks. +</itemize> + +<sect1>Accessing Ext2 from BeOS<label id="ntfs_from_beos2"><p> +<itemize> + <item> Homepage: <url url="http://www.cs.tamu.edu/people/tkg0143/be/"> + <item> Author: Travis Geiselbrecht + < <htmlurl url="mailto:geist@tamu.edu" + name="geist@tamu.edu"> > + <item> Download: <url url="http://www.cs.tamu.edu/people/tkg0143/be/downloads/ext2fs-1.0.6-x86-r4.zip"> for R4 and + <url url="http://www.cs.tamu.edu/people/tkg0143/be/downloads/ext2fs-1.0.3-x86-r3.zip"> for R3. + <item> Access: Read-only, long filenames supported. + <item> License: Free +</itemize> +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. <p> + +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. + +<sect1>Accessing Ext2 from MacOS (MountX) +<label id="ext2_macos"><p> +<itemize> + <item> Homepage: <url url="http://calvaweb.calvacom.fr/bh40"> + <item> Author: ? + <item> Download: ? +</itemize> +MacOS driver which allows you to mount ext2 filesystems (Linux and +MkLinux) on the Macintosh. + + +<sect1>Accessing Ext2 from MiNT +<label id="ext2_mint"><p> +<itemize> + <item> Homepage: <url url="http://?"> + <item> Author: <<htmlurl + url="mailto:yescrew@capybara.sk-pttsc.lj.edus.si" + name="yescrew@capybara.sk-pttsc.lj.edus.si">> + <item> Download: ? + <item> License: GPL +</itemize> +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. + + +<sect1>Ext2fs defrag <label id="ext2_defrag"><p> +<itemize> + <item> Download: <url url="ftp://ftp.uk.linux.org/pub/linux/sct/defrag/"> + <item> Author: Stephen C. Tweedie < <htmlurl + url="mailto:sct@redhat.com" + name="sct@redhat.com"> > + <item> License: GPL +</itemize> +Defragments your ext2 filesystem. Needs updated for glib libraries. + +<sect1>Ext2fs resize <label id="ext2_resize"><p> +<itemize> + <item> Homepage: <url url="http://www.dsv.nl/~buytenh/ext2resize/"> + <item> Download: <url url="http://www.dsv.nl/~buytenh/ext2resize/ext2resize-990617.tar.bz2"> + <item> Author: Lennert Buytenhek <<htmlurl + url="mailto:buytenh@dsv.nl" name="buytenh@dsv.nl">>. + <item> License: GPL +</itemize> +Resizes second extended filesystem. + +<sect1>Ext2end <label id="ext2end"><p> +<itemize> + <item> Homepage: <url url="http://linux.msede.com/ext2/ext2end.html"> + <item> Maintainer: Mike Field <<htmlurl + url="mailto:mafield@the.net.nz" + name="mafield@the.net.nz">> + <item> License: Copyright Mike Field. To be GPLed once stable. +</itemize> +For use with <ref id="lvm" name="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 + +<sect1>Repairing/analyzing/creating Ext2 using E2fsprogs +<label id="ext2_e2fsprogs"><p> +<itemize> + <item> Homepage: <url url="http://e2fsprogs.sourceforge.net/"> + <item> Download: <url + url="ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/"> + <item> Authors: <htmlurl + url="mailto:tytso@mit.edu" + name="tytso@mit.edu"> and + <htmlurl url="mailto:card@masi.ibp.fr" + name="card@masi.ibp.fr"> + <item> Windows NT port: <url url="http://www.chat.ru/~ashedel/ext2fsnt/"> + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1998/07/10/900098883.html" + name="Console/Filesystems"> + <item> License: GPL +</itemize> +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. + +<sect1>Ext2 filesystem editor - Ext2ed +<label id="ext2ed"><p> +<itemize> + <item> Homepage: ? + <item> Author: <htmlurl + url="mailto:tgud@tochnapc2.technion.ac.il" + name="tgud@tochnapc2.technion.ac.il">. + <item> Download: <url + url="http://sunsite.unc.edu/pub/Linux/system/Filesystems/ext2/ext2ed-0.1.tar.gz"> + <item> License: GPL +</itemize> +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. + +<sect1>Linux filesystem editor - lde +<label id="lde"><p> +<itemize> + <item> Homepage: ? + <item> Author: Scott D. Heavner <<htmlurl + url="mailto:sdh@po.cwru.edu" + name="sdh@po.cwru.edu">>. + <item> Download: <url + url="http://sunsite.unc.edu/pub/Linux/system/Filesystems/lde-2.3.4.tar.gz"> + <item> License: GPL +</itemize> +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 <bf>LaTeX Introduction to the Minix fs</bf>. You must patch +sources to compile on 2.2.x and 2.3.x kernels beacuse of missing Xia header +files in kernel.<p> + +<sect1>Ext2 undelete utilities +<label id="ext2undel"><p> +<itemize> + <item> Homepage: <url url="http://amadeus.uprm.edu/~undelete"> + <item> Authors: Gunther Costas, Wilfredo Lugo, Jerry Ramirez + <<htmlurl url="mailto:undelete@amadeus.uprm.edu" + name="undelete@amadeus.uprm.edu">> + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1998/10/14/908382417.html" + name="Console/Filesystems"> + <item> License: GPL +</itemize> +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. + + +<!-- ################################################################## --> +<sect> Macintosh Hierarchical Filesystem - HFS<label id="hfs"> <p> +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.<p> + +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.<p> + +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. <p> + +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. <p> + +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. +<p> + +HFS and HFS+ (also called Sequoia) filesystems are well documented. The +best source of tech. information about HFS can be found in the <bf>Inside +Macintosh</bf> series of books. Look at +<url url="http://developer.apple.com/techpubs/mac/Files/Files-99.html">. +The HFS+ filesystem is described in <bf>Technote 1150</bf>, +available online at +<url url="http://developer.apple.com/technotes/tn/tn1150.html">. +A lot of information is available also in other technotes. This links +are collected by Paul H. Hargrove: + +<itemize> + <item><url url="http://developer.apple.com/dev/technotes/fl/fl_22.html"> + - HFS Ruminations. +<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_32.html"> + - Hey, Buddy, Can You Spare A Block? +<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_505.html"> + - Alias Manager Q&As +<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_515.html"> + - File Manager File Handling Q&As +<item> <url url="http://developer.apple.com/dev/technotes/fl/fl_530.html"> + - File Manager Volume Handling Q&As +<item> <url url="http://developer.apple.com/dev/qa/ops/ops08.html"> + - Bizarre Extension Loading Order: BackQuote Sorts Between "A" and "B" +<item> <url url="http://developer.apple.com/dev/technotes/tb/tb_535.html"> + - Finder Q&As +</itemize> + + +<sect1>Accessing HFS from Linux +<label id="hfs_from_linux"><p> +<itemize> + <item> Homepage: <url url="http://www-sccm.stanford.edu/~hargrove/HFS/"> + <item> Author: Paul. Hargrove <<htmlurl + url="mailto:hargrove@sccm.Stanford.edu" + name="hargrove@sccm.stanford.edu">> + <item> Freshmeat: <htmlurl + url="http://news.freshmeat.net/appindex/1998/08/07/902523578.html" + name="Console/Filesystems"> + <item> License: GPL +</itemize> + +<sect1>Accessing HFS from OS/2 (HFS/2) +<label id="hfs_from_os2"><p> +<itemize> + <item> Homepage: <url url="http://www.student.nada.kth.se/~f96-bet/HFS/"> + <item> Author: Marcus Better <<htmlurl + url="mailto:Marcus.Better@abc.se" name="Marcus.Better@abc.se">> +</itemize> + +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. +<p> + +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. + +<sect1>Accessing HFS from Windows 95/98/NT (HFV Explorer) +<label id="hfs_from_win"><p> +<itemize> + <item> Homepage: <url url="http://gamma.nic.fi/~lpesonen/HFVExplorer/"> + <item> Author: Lauri Pesonen <<htmlurl + url="mailto:lpesonen@nic.fi" name="lpesonen@nic.fi">> + <item> Access: R/W access to floppies, Zip disks and virtual volume + files. Read access to HFS and hybrid CD's. + <item> License: GPL +</itemize> +An HFS volume browser for Windows NT and Windows 9x based +on hfsutils. Launch pad support for all major Macintosh +emulators running on Windows. + +<sect1>Accessing HFS from DOS (MAC-ETTE) +<label id="hfs_from_dos"><p> +<itemize> + <item> Homepage: ? + <item> Author: Paul E. Thomson + <item> Download: <url url="http://home2.inet.tele.dk/shefan/macette3.zip"> + <item> Access: Read-Only + <item> License: Shareware ($34) +</itemize> +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. + +<sect1>HFS utils <label id="hfs_utils"><p> +<itemize> + <item> Homepage: <url url="http://www.mars.org/home/rob/proj/hfs/"> + <item> Author: Robert Leslie <<htmlurl + url="mailto:rob@mars.org" + name="rob@mars.org">> + <item> OS/2 port: <url url="http://www.f.kth.se/~f96-bet/hfsutils/"> +</itemize> + +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. + +<sect1>MacFS: A Portable Macintosh File System Library +<label id="macfs_lib"><p> +<itemize> + <item> Tech report: <url url="http://reports-archive.adm.cs.cmu.edu/anon/1998/abstracts/98-145.html"> + <item> Author: Peter A. Dinda <<htmlurl + url="mailto:pdinda+macfs@cs.cmu.edu" + name="pdinda+macfs@cs.cmu.edu">>, + George C. Necula, and Morgan Price + <item> Download: <url url="ftp://ftp.cs.cmu.edu/user/pdinda/MacFS_0.1.tar.gz"> + <item> Access: Read/Write, full open/read/write/seek/close support + <item> License: Free for noncommercial and nonmilitary use, see + <url url="ftp://ftp.cs.cmu.edu/user/pdinda/MacFS_0.1.LICENSE"> +</itemize> +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. + +<sect>ISO 9660 - CD-ROM filesystem<label id="iso9660"><p> +Useful ISO-9660 links: +<itemize> + <item> <url url="ftp://ftp.ecma.ch/ecma-st/e119-pdf.pdf"> - + ISO-9660 (aka ECMA-119, aka High Sierra) specification +</itemize> + +<sect1>RockRidge extensions<p> +Extensions allowing long filenames and Unix-style symbolic links. +<p> + +Useful RockRidge links: +<itemize> + <item> <url url="ftp://ftp.ymi.com/pub/rockridge/susp112.ps"> - + System Usage Sharing Protocol (SUSP, IEEE P1281) + <item> <url url="ftp://ftp.ymi.com/pub/rockridge/rrip112.ps"> - + Rock Ridge Interchange Protocol (RRIP, IEEE P1282) +</itemize> + +<sect1>Joliet extensions<p> +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. + +<sect1>Hybrid CD-ROMs<p> +Hybrid CDs contains three filesystems on one disc - ISO9660/RR, Joliet and +HFS. Such CD-ROMs are accessible under DOS, Unix, Macintosh and Windows 9x/NT. +All three filesystems use the same data, only metadata are the disc three +times.<p> + +<sect1>Novell NetWare indexes on ISO9660<p> +(todo) +<p> + +<sect1>Accessing Joliet from Linux<p> +<label id="joliet_linux"><p> +<itemize> + <item> Homepage: <url url="http://bmrc.berkeley.edu/people/chaffee/joliet.html"> + <item> License: GPL +</itemize> + +<sect1>Accessing Joliet from BeOS<p> +<label id="joliet_beos"><p> +<itemize> + <item> Homepage: <url url="http://www.iae.nl/users/gertjan/be/"> + <item> Author: Gertjan van Ratingen <<htmlurl + url="mailto:gertjan@iae.nl" name="gertjan@iae.nl">> + <item> License: ? +</itemize> +It is updated ISO9660 driver to be able to use a Joliet ISO9660 extensions. + +<sect1>Accessing Joliet from OS/2<p> +<label id="joliet_os2"><p> +<itemize> + <item> Download: <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/jcdfs.zip"> + <item> Author: IBM + <item> License: ? +</itemize> +Jcdfs.zip archive contains CDFS.IFS driver for OS/2 with Joliet level 3 +support. + +<sect1>Accessing Audio CD as filesystem from Linux<p> +<label id="audiocd_linux"><p> +<itemize> + <item> Homepage: <url url="http://www.ii.pw.edu.pl/~borkowsm/cdfs.htm"> + <item> Download: ? + <item> Author: Mariusz Borkowski <<htmlurl + url="mailto:borkowsm@ii.pw.edu.pl" name="borkowsm@ii.pw.edu.pl">> + <item> License: ? +</itemize> +This kernel module allows you to access an audio CD as a regular filesystem. + +<sect1>Accessing Audio CD as filesystem from BeOS<p> +<label id="audiocd_beos"><p> +<itemize> + <item> Homepage: <url url="http://www.xs4all.nl/~marcone/be.html"> + <item> Download: <url url="http://www.xs4all.nl/~marcone/be/files/cdda5.zip"> + (PPC/Intel archive) + <item> Author: Marco ? + <item> License: ? +</itemize> +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. +<p> + +<sect1>Accessing all tracks from Linux (CDfs)<p> +<label id="cdfs_linux"><p> +<itemize> + <item> Homepage: <url url="http://www.elis.rug.ac.be/~ronsse/cdfs/"> + <item> Download: <url url="http://www.elis.rug.ac.be/~ronsse/cdfs/cdfs.tgz"> + <item> Author: Michiel Ronsse <<htmlurl + url="mailto:ronsse@elis.rug.ac.be" name="ronsse@elis.rug.ac.be">> + <item> License: GPL +</itemize> +CDfs is a file system for Linux systems that `exports' all tracks +and boot images on a CD as normal files. These files can then be +mounted (e.g. for ISO and boot images), copied, played (audio +tracks), etc. The primary goal for developing this file system was +to `unlock' information in old ISO sessions. The file system also +allows you to access data on faulty multi session disks, e.g. +disks with multiple single sessions instead of a multi session. +<p> + + + +<sect1>Creating Hybrid CD-ROMs (mkhybrid)<p> +<label id="mkhybrid"><p> +<itemize> + <item> Homepage: <url url="http://www.ps.ucl.ac.uk/~jcpearso/mkhfs.html"> + <item> Download: <url url="ftp://ftp.ge.ucl.ac.uk/pub/mkhfs/"> + <item> Author: <<htmlurl url="mailto:j.pearson@ge.ucl.ac.uk" + name="j.pearson@ge.ucl.ac.uk">> + <item> License: ? +</itemize> +Make an ISO9660/HFS/JOLIET shared hybrid CD volume + + +<sect>Other filesystems<p> + +<sect1> ADFS - Acorn Disc File System <p> +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. <p> + +Linux kernel 2.1.x+ supports this filesystem. Author of Linux filesystem +implementation is Russell King <<htmlurl url="mailto:rmk@arm.uk.linux.org" +name="rmk@arm.uk.linux.org">>. + +<sect1> AFFS - Amiga fast filesystem<label id="affs"><p> +The Fast File System (FFS) is the common filesystem used on hard +disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20).<p> + +Linux kernel 2.1.x+ supports this filesystem. Author of Linux filesystem +implementation is Ray Burr <<htmlurl url="mailto:ryb@nightmare.com" +name="ryb@nightmare.com">>. + +<!------------------------------------------------------------------------> + +<sect1> BeFS - BeOS filesystem<label id="befs"><p> +BeFS is <ref id="journal" name="journaling"> filesystem used in BeOS. +For more information about BeFS see <htmlurl url="http://www.mkp.com/books_catalog/1-55860-497-9.asp" +name="Practical File System Design with the Be File System"> +book or BeFS linux driver source code.<p> + +Linux BeFS implementation: +<label id="befs_linux"><p> +<itemize> + <item> Homepage: <url url="http://hp.vector.co.jp/authors/VA008030/bfs/"> + <item> Download: <url url="http://hp.vector.co.jp/authors/VA008030/bfs/bfs-19990528.tar.gz"> + <item> Author: Makoto Kato <<htmlurl url="mailto:m_kato@ga2.so-net.ne.jp" + name="m_kato@ga2.so-net.ne.jp">> + <item> Access: Read-only + <item> License: GPL +</itemize> +This driver supports x86 and PowerPC Linux platform. +Also, it only supports readable in hard disk and floppy disk. + +<sect1> BFS - UnixWare Boot Filesystem<label id="bfs"><p> +UnixWare BFS filesystem type is a special-purpose filesystem. It was designed +for loading and booting UnixWare kernel. BFS was designed as a +<ref id="contiguous" name="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.<p> + +<p> +For more information about BFS see +<url url="http://uw7doc.sco.com/FS_admin/_The_bfs_File_System_Type.html">. +<itemize> + <item> <url url="http://uw7doc.sco.com/FS_admin/_The_bfs_Superblock.html"> + - superblock + <item> <url url="http://uw7doc.sco.com/FS_admin/_bfs_Inodes.html"> + - inodes + <item> <url url="http://uw7doc.sco.com/FS_admin/_bfs_Storage_Blocks.html"> + - storage blocks +</itemize> + +You can access BFS filesystem from Linux: +<label id="bfs_linux"> +<itemize> + <item> Homepage: <url url="http://www.ocston.org/~tigran/patches/bfs/"> + <item> Download: In the Linux kernel, patches available at homepage. + <item> Author: Tigran A. Aivazian <<htmlurl url="mailto:tigran@ocston.org" + name="tigran@ocston.org">> + <item> License: GPL + <item> Access: Read/write (write part is limited, no compactification yet) +</itemize> +The support for BFS is included in the Linux +kernel since version 2.3.25. If you are using an earlier +kernel, check if BFS homepage contains a patch which adds +support for this filesystem. The homepage also contains +bugfixes/enhancement which are not yet merged into the +official kernel. +<p> + +There is also mine old implementation, which is now obsolete. My +plan is to port this code to FreeBSD: + +<label id="bfs_linux_old"> +<itemize> + <item> Homepage: <url url="http://www.penguin.cz/~mhi/fs/bfs/"> + <item> Download: <url url="ftp://ftp.penguin.cz/pub/users/mhi/bfs/"> + <item> Author: Martin Hinner <<htmlurl url="mailto:mhi@penguin.cz" + name="mhi@penguin.cz">> + <item> License: GPL + <item> Access: Read-only +</itemize> +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 <ref id="vxfs" name="VxFS"> Linux support. + +<!--------------------------------------------------------------------------> + +<sect1> CBM FS - Commodore 1581/1541 filesystem<p> +This filesystem was used on Commodore 1581/1541. There is a read-only filesystem +driver for Linux: + +<label id="cbmfs_linux"><p> +<itemize> + <item> Homepage: <url url="http://www.npsnet.com/danf/software/pub/"> + <item> Download: <url url="ftp://sunsite.unc.edu/pub/Linux/system/filesystems/cbmfs-0.3.tar.gz"> + <item> Author: Dan Fandrich <<htmlurl + url="mailto:dan@fch.wimsey.bc.ca" name="dan@fch.wimsey.bc.ca">> + <item> License: GPL + <item> Access: Read-only +</itemize> +Commodore 1581 & 1541 read-only filesystem driver, installed as +a kernel module. Allows mounting Commodore 1581 disks in a +standard 3.5" floppy drive and 1541 disk images copied to any +floppy disk. PETSCII to ASCII conversion can be automatically +performed. Partitions on 1581 disks are accessed as +subdirectories. + +<!--------------------------------------------------------------------------> +<sect1> CrosStor filesystem<p> +This is new name for <bf>High throughput filesystem (HTFS)</bf>. For more +information see CrosStor homepage at <url url="http://www.crosstor.com">. + +<sect1> DTFS - Desktop filesystem<label id="dtfs"><p> +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 <url url="ftp://ftp.crosstor.com/pub/DTFS/papers/">). +<p> + +Read/Write <bf>commercial</bf> driver available from CrosStor for UnixWare +and SUN Solaris: + +<label id="dtfs_unixware"><p> +<itemize> + <item> Download: <url url="ftp://ftp.crosstor.com/pub/DTFS/"> + <item> License: Commercial? + <item> Access: Read/Write +</itemize> + +<sect1> EFS - Enhanced filesystem (Linux)<label id="enhfs"><p> +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.<p> + +Some other features that authors want to implement are +<ref id="journal" name="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!<p> + +Homepage of Enhanced FS is at <url url="http://www.coker.com.au/~russell/enh/">. +Contact Russell Coker +<<htmlurl url="mailto:russell@coker.com.au" +name="russell@coker.com.au">> for more information. + + +<sect1> EFS - Extent filesystem (IRIX)<label id="efs"><p> +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. +<p> + +There are two kernel modules for linux to access EFS filesystem. + +<label id="efs_linux"><p> +<itemize> + <item> Homepage: <url url="http://aeschi.ch.eu.org/efs/"> + <item> Download: <url url="http://aeschi.ch.eu.org/efs/efs-1.0b.tar.gz"> + <item> Author: Al Smith <<htmlurl + url="mailto:Al.Smith@aeschi.ch.eu.org" + name="Al.Smith@aeschi.ch.eu.org">> + <item> License: GPL + <item> Access: Read-only +</itemize> +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. +<p> + +Original efsmod is also available: + +<label id="efsmod_linux"><p> +<itemize> + <item> Homepage: <url url="http://wwwcip.informatik.uni-erlangen.de/user/cnvogelg/proj.html"> + <item> Download: <url url="http://wwwcip.informatik.uni-erlangen.de/user/cnvogelg/bin/efsmod-0.6.tgz"> + <item> Author: Christian Vogelgsang + <item> License: GPL + <item> Access: Read-only +</itemize> +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. +<p> + +<sect2>Accessing EFS from Windows NT/95<p> +<label id="efs_win95"><p> +<itemize> + <item> Download: <url url="ftp://ivo.cps.unizar.es/pub/SPDsoft/winefssh.exe.zip"> + <item> Author: J.A. Gutierrez <<htmlurl url="mailto:spd@ivo.cps.unizar.es" + name="spd@ivo.cps.unizar.es">> + <item> License: GPL + <item> Access: Read/Only IRIX EFS +</itemize> +Simple program for accessing EFS from Windows 95 (compiled using MS VC++).<p> + +<sect2>EFS and FFS library, libfs<p> +<label id="libfs"><p> +<itemize> + <item> Download: <url url="ftp://ivo.cps.unizar.es/pub/SPDsoft/libfs.tar.gz"> + <item> Author: J.A. Gutierrez <<htmlurl url="mailto:spd@ivo.cps.unizar.es" + name="spd@ivo.cps.unizar.es">> + <item> License: GPL + <item> Access: Read/Only IRIX EFS and Sun UFS +</itemize> +A C library to read EFS and FFS from WinNT x86, SunOS +and IRIX. Easy to use (Posix like interface) and to links aginst existent +code FTP server has also winefssh.exe and winufssh.exe, +simple WinNT binaries to interactively read UFS and EFS file systems. +Not a very polished/documented package, but somebody may find it useful. +<p> + +Useful links: +<itemize> + <item> IRIX EFS filesystem brief description: + <url url="http://squish.ucs.indiana.edu:80/ebt-bin/nph-dweb/dynaweb/SGI_Admin/IA_DiskFiles/@ebt-link;td=8?target=%25N%14_7484_START_RESTART_N%25"><P> + +</itemize> + +<sect1> FFS - BSD Fast filesystem<label id="ffs"><p> +This is native filesystem for most BSD unixes (FreeBSD, NetBSD, OpenBSD, +Sun Solaris, ...).<p> + +See also: <ref id="sfs" name="SFS, secure filesystem">, + <ref id="ufs" name="UFS">. +<p> + +<sect2>Accessing FFS from MacOS<p> + +You can expand .tar.gz files to FFS filesystem with BSD Installer utility, +with comes with OpenBSD. It lives at <url url="ftp://ftp.openbsd.org/pub/OpenBSD/2.7/mac68k/utils/">. +<p> + +<sect1> GPFS - General Parallel Filesystem<p> +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. + +<itemize> + <item><url url="http://www.austin.ibm.com/resource/technology/paper1.html"> +</itemize> + +<sect1> HFS - HP-UX Hi performance filesystem<p> +This is the second hfs that appears in this howto. It is used in older HP-UX +versions. + +<sect1> HTFS - High throughput filesystem <label id="htfs"><p> + +Useful links: +<itemize> + <item> SCO OpenServer 5 filesystems whitepaper: + <url url="http://www.sco.com/products/Whitepapers/family/filesy4.htm"> +</itemize> + +Read/Write <bf>commercial</bf> driver available from CrosStor: + +<label id="htfs_solaris"><p> +<itemize> + <item> Download: <url url="ftp://ftp.crosstor.com/pub/HTFS/"> + <item> License: Commercial? + <item> Access: Read/Write +</itemize> + +<sect1> JFS - Journaled filesystem (HP-UX, AIX, OS/2 5, Linux) +<label id="jfs"><p> +<itemize> + <item> Homepage: <url url="http://oss.software.ibm.com/developerworks/opensource/jfs/"> + <item> Download: <url url="http://www10.software.ibm.com/developer/opensource/jfs/project/pub/"> + <item> Author: Steve Best <<htmlurl + url="mailto:sbest@us.ibm.com" + name="sbest@us.ibm.com">> and + Dave Kleikamp <<htmlurl url="mailto:shaggy@us.ibm.com" + name="shaggy@us.ibm.com">> + <item> License: GPL + <item> Access: ? +</itemize> +JFS is IBM's journaled file system technology, currently used in +IBM enterprise servers, and is designed for high-throughput server +environments. + +<!--------------------------------------------------------------------------> + +<sect1> LIF - Logical Interchange Format (HP-UX)<p> +This filesystem is used in older HP-UX versions. It can be also found in +ROMs and bootup sectors. + +<!--------------------------------------------------------------------------> + +<sect1> LFS - Linux log structured filesystem<p> + +Linux Log structured filesystem implementation called d(t)fs: +<itemize> + <item> Homepage: <url url="http://www.complang.tuwien.ac.at/czezatke/lfs.html"> + <item> Author: Christian Czezatke <<htmlurl + url="mailto:e9025461@student.tuwien.ac.at" + name="e9025461@student.tuwien.ac.at">> + <item> License: GPL + <item> Access: rw/long filenames, etc +</itemize> +d(t)fs is a log-structured filesystem project for Linux. +Currently, the filesystem is mostly up and running, +but no cleaner has been written so far. <p> + +There will also be a dtfs mailing list that will be announced on the +homepage. For more information you can have a look at: +<url url="http://www.xss.co.at/mailman/listinfo.cgi/dtfs"> +<p> + +<itemize> + <item> <url url="http://collective.cpoint.net/lfs/"> - The kfs Homepage + Cornelius "Kees" Cook has started a Linux Log--Structured Filesystem + project before dtfs came to live. + <item> <url url="http://lucien.blight.com/~c-cook/prof/lfs/"> - Another (death) + LFS implementation ;-) + <item> <url url="http://www.eecs.harvard.edu/~margo/usenix.195/"> + - Margo Seltzer's <<htmlurl + url="mailto:margo@das.harvard.edu" + name="margo@das.harvard.edu">> LFS page +</itemize> + +<!----------------------------------------------------------------------------> + +<sect1> MFS - Macintosh filesystem <p> +MFS is original Macintosh filesystem. It has been replaced by HFS / HFS+. +If you can provide further information, mail +<htmlurl url="mailto:mhi@penguin.cz" name="me"> please. + +<!----------------------------------------------------------------------------> + +<sect1> Minix filesystem <p> +This is Minix native filesystem. It was also used in first versions of Linux. + +<!----------------------------------------------------------------------------> + +<sect1> NWFS - Novell NetWare filesystem<label id="nwfs"><p> +NWFS is native in Novell NetWare OS. It is modified FAT-based filesystem. +Two variants of this filesystem exists. 16bit NWFS 286 is used in NetWare 2.x. +NetWare 3.x, 4.x and 5 use 32bit NWFS 386. + +<sect2> NetWare filesystem / 286<label id="nwfs286"><p> +(todo) + +<sect2> NetWare filesystem / 386<label id="nwfs386"><p> +(todo) + +<sect2>Accessing NWFS-386 from Linux<p> +<itemize> + <item> Homepage: <url url="http://www.timpanogas.com/html/fenris_for_linux.html"> + <item> Download: <url url="ftp://207.109.151.240/nwfs/"> + <item> Author: Timpanogas Research Group, Inc. (jmerkey@timpanogas.com) + <item> License: GPL + <item> Access: Read-Only +</itemize> +This driver allows you to mount NWFS-386 filesystem on Linux. + +<!----------------------------------------------------------------------------> +<sect1> NSS - Novell Storage Services<label id="nss"><p> +This is a new 64bit <ref id="journal" name="journaling"> filesystem using a +<ref id="btree" name="balanced tree"> algorithms. It is used in Novell +NetWare 5. + +<itemize> + <item> <url url="http://www.novell.com/whitepapers/nw5/nss.html"> - NSS Whitepaper +</itemize> + +<!----------------------------------------------------------------------------> + +<sect1> ODS - On Disk Structure filesystem<p> +This is OpenVMS and VMS native filesystem. + +<!----------------------------------------------------------------------------> + +<sect1> QNX filesystem <label id="qnxfs"><label id="qnx4"><p> +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.<p> + +QNX4 filesystem is now accessible from Linux 2.1.x+. Say "Y"es to 'QNX +filesystem support'; + +<itemize> + <item> Download: In the kernel ;) + <item> Author: Frank Denis <<htmlurl + url="mailto:j@4u.net" name="j@4u.net">> (maintainer), + Richard Frowijn + <item> License: GPL + <item> Access: Read (except for multi-extents files), Write (experimental) +</itemize> +Driver for the QNX 4 filesystem. + +<!----------------------------------------------------------------------------> + +<sect1> Reiser filesystem<label id="reiserfs"><p> + 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. +<p> + +Useful links: +<itemize> + <item> Reiser fs homepage + <url url="http://devlinux.org/namesys/"> +</itemize> + +<sect1> RFS (CD-ROM Filesystem)<p> +Sony's incremental packet-writing filesystem. + +<sect1> RomFS - Rom filesystem<p> +Author of Linux RomFS implemplementation is +Janos Farkas <<htmlurl url="mailto:chexum@shadow.banki.hu" +name="chexum@shadow.banki.hu">> For more information see +<bf>/usr/src/linux/Documentation/filesystems/romfs.txt</bf> +file. + +<sect1> SFS - Secure filesystem<label id="sfs"><p> +The sfs filesystem type is a variation of the FFS filesystem type. The +boot block,superblock, storage blocks, and free blocks for the sfs +filesystem type are, at the administrative level, identical to those for +FFS. The inodes differ from FFS inodes, however. Each odd-numbered +inode is reserved for security information. The information contains +Access Control List information. I'm not sure if SFS has any other +abilities though. +<p> + +SFS links: +<itemize> + <item> <url url="http://uw7doc.sco.com/FS_admin/_The_sfs_File_System_Type.html"> - UnixWare 7 documentation: SFS Filesystem +</itemize> + +<sect1> Spiralog filesystem (OpenVMS)<label id="spiralog"><p> + +Spiralog is a 64bit high-performance filesystem for the OpenVMS. +The Spiralog +combines <ref id="journal" name="log-structured"> technology +with more traditional <ref id="btree" name="B-tree"> +technology to provide a general abstraction. The B-tree +mapping mechanism uses write-ahead logging to give stability and +recoverability guarantees. +<p> + +Spiralog-related links at Digital: + +<itemize> + <item> <url url="http://www.digital.com/info/SP6048/"> + - Spiralog File System for OpenVMS Alpha + <item> <url url="http://www.digital.com/DTJM01/DTJM01AH.HTM"> + - Overview of the Spiralog File System + <item> <url url="http://www.digital.com/DTJM02/DTJM02HM.HTM"> + - Design of the Server for the Spiralog File System +</itemize> + +<sect1> System V and derived filesystems <p> +Homepage of System V Linux project is at +<url url="http://www.knm.org.pl/prezes/sysv.html">. Maintainer of +this project is <kgb@manjak.knm.pl.org>. + +<sect2> AFS - Acer Fast Filesystem<label id="afs"><p> +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. + +<sect2> EAFS - Extended Acer Fast Filesystem<label id="eafs"><p> +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. + +<sect2> Coherent filesystem<label id="coherent"><p> + +<sect2> S5<label id="s5"> <p> +This filesystem is used in UnixWare. It's probably SystemV compatible, but +I haven't verified it yet. For more information see +<url url="http://uw7doc.sco.com/FS_admin/_The_s5_File_System_Type.html">. + +<sect2> S51K - SystemV 1K<label id="s51k"><p> + +<sect2> Version 7 filesystem<p> +This filesystem type is used on Version 7 Unix for PDP-11 machines. + +<sect2> Xenix filesystem<label id="xenix"><p> + +<sect1> Text - (Philips' CD-ROM Filesystem)<p> +Philips' standard for encoding disc and track data on audio CDs. + +<sect1> UDF - Universal Disk Format (DVD-ROM filesystem)<p> + +There is a Linux UDF filesystem driver: +<label id="udf_linux"><p> +<itemize> + <item> Homepage: <url url="http://trylinux.com/projects/udf/"> + <item> Download: <url url="http://trylinux.com/projects/udf/udf-0.8.0.1.tar.gz"> + <item> Author: Dave Boynton <<htmlurl url="maito:dave@trylinux.com" + name="dave@trylinux.com">> + <item> Mailing-list: <linux_udf@hootie.lvld.hp.com> + <item> License: GPL + <item> Access: Read-only +</itemize> + +<sect1>UFS<label id="ufs"><p> + +Note: People often call <ref id="ffs" name="BSD Fast Filesystem"> incorrectly +UFS. FFS and UFS are *diferrent* filesystems. All modern Unixes use FFS +filesystem, not UFS! UFS was used in early BSD versions. You can download +source code at <url url="http://minnie.cs.adfa.edu.au/TUHS/">.<p> + +Useful links: +<itemize> + <item> <url url="http://www.sun.ca/white-papers/ufs-cluster.html"> + - Implementation of write-clustering for Sun's UFS +</itemize> + +See also: <ref id="ffs" name="BSD FFS"><p> + +<sect1>V7 Filesystem<label id="v7"><p> +The V7 Filesystem was used in Seventh Edition of UNIX Time Sharing system +(about 1980). For more information see 7th Ed. source code, which is +available from the Unix Archive: <url url="http://minnie.cs.adfa.edu.au/TUHS/">. +<p> + +<sect1> VxFS - Veritas filesystem (HP-UX, SCO UnixWare, Solaris) +<label id="vxfs"><p> +This is commercial filesystem developer by Veritas Inc. You can see it in +HP-UX, SCO UnixWare, Solaris and probably other systems. It has very +interesting features: +Extent based allocation, Journaling, access control lists (ACLs), +up to 2 terabyte large file support, online backup (snapshot filesystem), +BSD style quotas and many more. +<p> +Three VxFS versions are available with VxFS:<p> + +<bf> Version 1:</bf> This is original VxFS, not commonly in use.<p> +<bf> Version 2:</bf> Support for filesets and dynamic inode allocation.<p> +<bf> Version 4:</bf> Latest version, supports large files and quotas.<p> + +Note that HP-UX, Solaris and UnixWare versions use slightly different +structures, so you may not be able to read VxFS when you connect it +to different system. <p> + +VxFS related links: +<itemize> + <item> <url url="http://www.veritas.com/"> - Veritas Inc + <<htmlurl url="mailto:vx-sales@veritas.com" + name="vx-sales@veritas.com">>. + <item> <url url="http://uw7doc.sco.com/ODM_FSadmin/CONTENTS.html"> + - VxFS ODM FS Admin - UnixWare 7 (documentation, really good). + <item> <url url="http://uw7doc.sco.com/FS_manager/fsD.vxfsopt.html"> + - VxFS FS Manager - UnixWare 7 (documentation). + <item> <url url="http://manuals.mchp.siemens.de:80/dynaweb/english/ru544e/drlugueb/o25636e1/@Generic__BookView/1641;cd=3"> + - VxFS - Reliant Unix. +</itemize> +<p> + +See also: <ref id="vxvm" name="VxVM (Veritas volume manager)"> and + <ref id="journal" name="journaling filesystems">. + +<sect2>VxTools<p> +<label id="vxtools"> +Unix command-line utilities for accessing VxFS versions 2 and 4 are +available under the GNU GPL: +<itemize> + <item> Homepage: <url url="http://www.penguin.cz/~mhi/fs/vxfs/"> + <item> Download: <url url="ftp://ftp.penguin.cz/pub/users/mhi/vxfs/"> + <item> Author: Martin Hinner <<htmlurl url="mailto:mhi@penguin.cz" + name="mhi@penguin.cz">> + <item> Mailing-list: <fs-l@penguin.cz> + <item> License: GPL + <item> Access: Read-only, command-line utilites +</itemize> +Vxtools is a set of command-line utilites which allow you to access your +VxFS filesystem from Linux (and possibly other Unixes). Current version +can read VxFS versions 2 and 4. +<p> + +I (mhi) plan also VxFS Linux kernel driver.<p> + +AFAIK, Rodney Ramdas <<htmlurl url="mailto:rodney@quicknet.nl" +name="rodney@quicknet.nl">> works on VxFS driver for FreeBSD. I don't +know current status of his project, so if you want more info contact him +directly.<p> + +<sect1> XFS - Extended filesystem (IRIX)<label id="xfs"><p> + + +XFS(tm) is the next-generation file system for +Silicon Graphics[TM] 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 +<ref id="journal" name="journaling"> +technology for fast, reliable recovery. File systems can be backed up while +still in use, significantly reducing administrative overhead.<p> + +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. <p> + +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. <P> + +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. <P> + +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.<P> + +Useful XFS links: +<itemize> + <item> <url url="http://www.sgi.com/Technology/xfs-whitepaper.html"> + XFS whitepaper +</itemize> + + +XFS Linux port covered by the GNU General Public License is available from +SGI Inc.: +<label id="xfs_linux"><p> +<itemize> + <item> Homepage: <url url="http://oss.sgi.com/projects/xfs/"> + <item> Download: <url url="ftp://oss.sgi.com/www/projects/xfs/download/"> + <item> Author: SGI Inc., <url url="http://www.sgi.com/"> + <item> License: GPL + <item> Access: Read-write +</itemize> + +<sect1> Xia FS<label id="xia"><p> +This filesystem was developed to replace old Minix filesystem in Linux. Author +of this fs is Franx Xia <<htmlurl url="mailto:qx@math.columbia.edu" +name="qx@math.columbia.edu">> + +<sect>Raw partitions<p> + +<sect1>Backing up raw partitions using DBsnapshot<p> +(todo: www.crosstor.com) + +<sect>Appendix<p> + +<sect1>Network filesystems<p> +This HOWTO is not about Network filesystems, but I should mention them.<p> + +There is a brief list of some which I know: + +<sect2> AFS - Andrew Filesystem<p> + +<itemize> + <item> The AFS FAQ is at <url + url="http://www.angelfire.com/hi/plutonic/afs-faq.html">. + <item> Commercial clients and servers for almost all platforms (except win98) + are available from IBM. See + <url url="http://www.transarc.com/Product/EFS/AFS/index.html"> + <item> A free client for Unix is available from the Arla Team at + <url url="http://www.stacken.kth.se/projekt/arla/">. + <item> A free Server is also in preparation, but not in production yet. +</itemize> + +<sect2> CODA <p> +<label id="coda"><p> +<itemize> + <item> Homepage: <url url="http://www.coda.cs.cmu.edu/"> + <item> Download: <url url="ftp://ftp.coda.cs.cmu.edu/pub/coda/linux/"> + <item> Author: CMU Coda Group <<htmlurl url="mailto:braam@coda.cs.cmu.edu" + name="braam@coda.cs.cmu.edu">>. + <item> License: GPL + <item> Access: R/W +</itemize> +Coda is a distributed filesystem with novel features such as +disconnected operation and server replication. +<p> + +<sect2> NFS - Network filesystem (Unix)<p> + +<sect2> NCP - NetWare Core Protocol (Novell NetWare)<p> + +<sect2> SMB - Session Message Block (Windows 3.x/9x/NT)<p> +This protocol is used in Windows world. + +<sect2>Intermezzo<p> +<label id="intermezzo"><p> +<itemize> + <item> Homepage: <url url="http://inter-mezzo.org/"> + <item> Download: <url url="http://inter-mezzo.org/downloads.html"> + <item> Author: Stelias and Redhat <<htmlurl url="mailto:info@stelias.com" + name="info@stelias.com">>. + <item> License: GPL + <item> Access: R/W +</itemize> +Intermezzo is a distributed file system for Linux. It was inspired +from coda but uses the disk file system as a persistent cache. +Intermezzo supports disconnected operation but does not yet +implement an identification system. + + +<sect1>Encrypted filesystems<p> + +<sect2>CFS<p> +<label id="cfs"><p> +<itemize> + <item> Homepage: ? + <item> Download: ? + <item> Author: Matt Blaze <<htmlurl url="mailto:mab@research.att.com" + name="mab@research.att.com">>. + <item> License: ? + <item> Access: Read/Write, using DES/3DES. +</itemize> +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.<p> + +<sect2>TCFS<p> +<label id="tcfs"><p> +<itemize> + <item> Homepage: <url url="http://tcfs.dia.unisa.it/"> + <item> Download: <url url="ftp://tcfs.dia.unisa.it/pub/tcfs/"> + <item> Authors: Luigi Catuogno <<htmlurl url="mailto:luicat@tcfs.dia.unisa.it" + name="luicat@tcfs.dia.unisa.it">>, Aniello Del Sorbo + <<htmlurl url="mailto:anidel@tcfs.dia.unisa.it" + name="anidel@tcfs.dia.unisa.it">>, Luigi Della Monica + <<htmlurl url="mailto:dellui@tcfs.dia.unisa.it" + name="dellui@tcfs.dia.unisa.it">>, G.Cattaneo + <<htmlurl url="mailto:cattaneo@dia.unisa.it" + name="cattaneo@dia.unisa.it">>, + G.Persiano (<url url="http://www.dia.unisa.it/~giuper/">), + Ermelindo (Erry) Mauriello <<htmlurl + url="mailto:errmau@tcfs.dia.unisa.it" + name="errmau@tcfs.dia.unisa.it">>, Angelo Celentano + <<htmlurl url="mailto:angcel@tcfs.dia.unisa.it" + name="angcel@tcfs.dia.unisa.it">>, Andrea Cozzolino + <<htmlurl url="mailto:andcoz@tcfs.dia.unisa.it" + name="andcoz@tcfs.dia.unisa.it">>. + <item> License: GPL + <item> Access: Read/Write transparently using CBC-DES/3DES/RC5/IDEA/Others.. +</itemize> +The main difference between TCFS and CFS is the trasparency to +user obtained by using TCFS. As a matter of fact, CFS works in +user space while TCFS works in the kernel space thus resulting +in improved performances and security. +The dynamic encryption module feature of TCFS allows a user +to specify the encryption engine of his/her choiche to be used +by TCFS. +Currently available only for Linux, TCFS will be relased soon +also for NetBSD, and will support in a near future also other +FS then NFS.<p> + +<sect2>SFS<p> +( TODO: <url url="http://www.cs.auckland.ac.nz/~pgut001/sfs/index.html"> ) + +<sect2>VS3FS: Steganographic File System for Linux<p> +<label id="vs3fs"><p> +<itemize> + <item> Homepage: <url url="http://www.linux-security.org/sfs/"> + <item> License: ? + <item> Access: ? +</itemize> +fspatch is a kernel patch which introduces module support for the +steganographic file system (formerly known as vs3fs, an experimental +type of filesytem that not only encrypts all information on the disk, +but also tries to hide that information in such a way that it cannot be +proven to even exist on the disk. This enables you to keep sensitive +information on a disk, while not be prone to being forced to reveal that +information. Even under extreme circumstances, fake documents could be +stored on other parts of the disk, for which a pasword may be revealed. +It should not be possible to find out whether any other information is +stored on the disk.<p> + +<sect1>Filesystem benchmarking utilities<p> +<sect2>IOzone<p> +<label id="iozone"><p> +<itemize> + <item> Homepage: <url url="http://www.iozone.org/"> + <item> Download: <url url="http://www.iozone.org/src/stable/"> + <item> License: freely distributable +</itemize> +IOzone is a filesystem benchmark tool. The benchmark generates and +measures a variety of file operations. Iozone has been ported to +many machines and runs under many operating systems. + + +<sect1>Writing your own filesystem driver<p> + +<sect2>DOS<p> +I haven't seen yet any good page about writing DOS filesystem drivers +(Network redirectors) on the net. The best source is Ralf Brown's interrupt +list and <ref id="ihpfs" name="iHPFS"> source code. + +<sect2>OS/2<p> +<itemize> + <item><url url="ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/doc/ifsinf.zip"> + <item><url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/32drv170.zip"> + - 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). + +</itemize> + +<sect2>Windows NT<p> +Microsoft IFS kit page +(<url url="http://www.microsoft.com/ddk/IFSkit/">) will be useful as +the best way to get into NT filesystems development (even for $1K it costs). +<p> + +For more information about writing FS drivers for Windows NT see +<url url="http://www.ing.umu.se/~bosse/"> by +<<htmlurl url="mailto:bosse@acc.umu.se" name="bosse@acc.umu.se">>. +<p> + +<sect1>Related documents<p> + +<itemize> + <item> <url url="http://www.honeycomb.net/os/holistic/connect/filesys.htm"> + - good page about filesystems + <item> <url url="http://home.att.net/~artnaseef/"> - Linux overlay + filesystem by <<htmlurl url="mailto:artnaseef@worldnet.att.net" + name="artnaseef@worldnet.att.net">>. + <item> <url url="http://www.braysystems.com/linux/trustees.html"> + - Linux trustees + <item> <url url="http://tcfs.dia.unisa.it"> - Transparent Cryptography + Filesystem + <item> <url url="http://www.sas.com/standards/large.file"> - Large file summit + - attacks the problem of 2gig+ of file in a 32bit computer + <item> <url url="http://www.coda.cs.cmu.edu/"> - The CODA project + (a distributed file system based on AFS) + <item> <url url="ftp://ftp.scis.org/pub/lfs/"> - LFS related papers + <item> <url url="http://www.redhat.com:8080/HyperNews/get/khg.html"> - Linux + Kernel Hacker's guide + <item> <url url="http://www.win.tue.nl/~aeb/linux/largedisk.html"> + - Large disk HOWTO + <item> <url url="http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html"> + - The Linux devfs + <item> <url url="http://gfs.lcse.umn.edu/"> - The Global File System (GFS) + <item> <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/tvfs211.zip"> - The Toronto Virtual Filesystem/2. + <item> <url url="ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/ramfs64.zip"> Dynamic RAM drive IFS driver for OS/2 + <item> <url url="http://doc.sco.com/"> + - UnixWare and SCO Unix documentation online + <item> <url url="http://uw7doc.sco.com/"> + - UnixWare 7 documentation online + <item> <url url="http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/SG244428/CCONTENTS"> + - Inside OS/2 LAN Server 4.0 + <item> <url url="ftp://tsx-11.mit.edu/pub/linux/ALPHA/userfs/"> + - Linux UserFS, it allows you to write a Linux process which implements + a filesystem. + <item> <url url="http://www.nyx.net/~sgjoen/disk.html"> - Stein Gjoen's + Multi Disk System Tuning HOWTO. + <item> <url url="http://linuxtoday.com/stories/5556.html"> - Linux Today: + Kragen's Amazing List of Filesystems. + <item> <url url="http://www.koehntopp.de/kris/artikel/dateisysteme/"> - + Kristian Kohntopp's Unix Filesystems (in German). +</itemize> + +</article> +