]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] Documentation/filesystems/ext3.txt
authorAndrew Morton <akpm@digeo.com>
Sat, 5 Oct 2002 03:35:24 +0000 (20:35 -0700)
committerRussell King <rmk@flint.arm.linux.org.uk>
Sat, 5 Oct 2002 03:35:24 +0000 (20:35 -0700)
By Vincent Hanquez <tab@tuxfamily.org>

Documentation/filesystems/ext3.txt [new file with mode: 0644]

diff --git a/Documentation/filesystems/ext3.txt b/Documentation/filesystems/ext3.txt
new file mode 100644 (file)
index 0000000..84e8ca1
--- /dev/null
@@ -0,0 +1,139 @@
+
+Ext3 Filesystem
+===============
+
+ext3 was originally released in September 1999. Written by Stephen Tweedie
+for 2.2 branch, and ported to 2.4 kernels by Peter Braam, Andreas Dilger, 
+Andrew Morton, Alexander Viro, Ted Ts'o and Stephen Tweedie.
+
+ext3 is ext2 filesystem enhanced with journalling capabilities. 
+
+Options
+=======
+
+When mounting an ext3 filesystem, the following option are accepted:
+(*) == default
+
+jounal=update          Update the ext3 file system's journal to the 
+                       current format.
+
+journal=inum           When a journal already exists, this option is 
+                       ignored. Otherwise, it specifies the number of
+                       the inode which will represent the ext3 file
+                       system's journal file.
+
+bsddf          (*)     Make 'df' act like BSD.
+minixdf                        Make 'df' act like Minix.
+
+check=none             Don't do extra checking of bitmaps on mount.
+nocheck                
+
+debug                  Extra debugging information is sent to syslog.
+
+noload                 Don't load the journal on mounting.
+
+errors=remount-ro(*)   Remount the filesystem read-only on an error.
+errors=continue                Keep going on a filesystem error.
+errors=panic           Panic and halt the machine if an error occurs.
+
+grpid                  Give objects the same group ID as their creator.
+bsdgroups              
+
+nogrpid                (*)     New objects have the group ID of their creator.
+sysvgroups
+
+resgid=n               The group ID which may use the reserved blocks.
+
+resuid=n               The user ID which may use the reserved blocks.
+
+sb=n                   Use alternate superblock at this location.
+
+data=journal           All data are commited into the journal prior 
+                       to being written into the main file system.
+               
+data=ordered   (*)     All data are forced directly out to the main file 
+                       system prior to its metadata being commited to 
+                       the journal.
+               
+data=writeback         Data ordering is not preserved, data may be 
+                       written into the main file system after its
+                       metadata has been committed to the journal.
+
+quota                  Quota options are currently silently ignored.
+noquota                        (see fs/ext3/super.c, line 594)
+grpquota
+usrquota
+
+
+Specification
+=============
+ext3 shares all disk implementation with ext2 filesystem, and add
+transactions capabilities to ext2.  Journaling is done by the
+Journaling block device layer.
+
+Journaling Block Device layer
+-----------------------------
+The Journaling Block Device layer (JBD) isn't ext3 specific.  It was
+design to add journaling capabilities on a block device.  The ext3
+filesystem code will inform the JBD of modifications it is performing
+(Call a transaction).  the journal support the transactions start and
+stop, and in case of crash, the journal can replayed the transactions
+to put the partition on a consistant state fastly.
+
+handles represent a single atomic update to a filesystem.  JBD can
+handle external journal on a block device.
+
+Data Mode
+---------
+There's 3 different data modes:
+
+* writeback mode
+In data=writeback mode, ext3 does not journal data at all.  This mode
+provides a similar level of journaling as XFS, JFS, and ReiserFS in its
+default mode - metadata journaling.  A crash+recovery can cause
+incorrect data to appear in files which were written shortly before the
+crash.  This mode will typically provide the best ext3 performance.
+
+* ordered mode
+In data=ordered mode, ext3 only officially journals metadata, but it
+logically groups metadata and data blocks into a single unit called a
+transaction.  When it's time to write the new metadata out to disk, the
+associated data blocks are written first.  In general, this mode
+perform slightly slower than writeback but significantly faster than
+journal mode.
+
+* journal mode
+data=journal mode provides full data and metadata journaling.  All new
+data is written to the journal first, and then to its final location. 
+In the event of a crash, the journal can be replayed, bringing both
+data and metadata into a consistent state.  This mode is the slowest
+except when data needs to be read from and written to disk at the same
+time where it outperform all others mode.
+
+Compatibility
+-------------
+
+Ext2 partitions can be easily convert to ext3, with `tune2fs -j <dev>`.
+ Ext3 is fully compatible with Ext2.  Ext3 partitions can easily be
+mounted as Ext2.
+
+External Tools
+==============
+see manual pages to know more.
+
+tune2fs:       create a ext3 journal on a ext2 partition with the -j flags
+mke2fs:        create a ext3 partition with the -j flags
+debugfs:       ext2 and ext3 file system debugger
+
+References
+==========
+
+kernel source: file:/usr/src/linux/fs/ext3
+               file:/usr/src/linux/fs/jbd
+
+programs:      http://e2fsprogs.sourceforge.net
+
+useful link:
+               http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html
+               http://www-106.ibm.com/developerworks/linux/library/l-fs7/
+               http://www-106.ibm.com/developerworks/linux/library/l-fs8/