[PATCH] Docs update: small spelling, formating etc fixes for filesystems/ext3.txt
Spelling fixes, formating changes and corrections for Documentation/filesystems/ext3.txt Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
		
					parent
					
						
							
								c594a50db4
							
						
					
				
			
			
				commit
				
					
						c63ca3c8b0
					
				
			
		
					 1 changed files with 90 additions and 88 deletions
				
			
		| 
						 | 
					@ -2,11 +2,11 @@
 | 
				
			||||||
Ext3 Filesystem
 | 
					Ext3 Filesystem
 | 
				
			||||||
===============
 | 
					===============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ext3 was originally released in September 1999. Written by Stephen Tweedie
 | 
					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, 
 | 
					for the 2.2 branch, and ported to 2.4 kernels by Peter Braam, Andreas Dilger,
 | 
				
			||||||
Andrew Morton, Alexander Viro, Ted Ts'o and Stephen Tweedie.
 | 
					Andrew Morton, Alexander Viro, Ted Ts'o and Stephen Tweedie.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ext3 is ext2 filesystem enhanced with journalling capabilities. 
 | 
					Ext3 is the ext2 filesystem enhanced with journalling capabilities.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Options
 | 
					Options
 | 
				
			||||||
=======
 | 
					=======
 | 
				
			||||||
| 
						 | 
					@ -14,69 +14,71 @@ Options
 | 
				
			||||||
When mounting an ext3 filesystem, the following option are accepted:
 | 
					When mounting an ext3 filesystem, the following option are accepted:
 | 
				
			||||||
(*) == default
 | 
					(*) == default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jounal=update		Update the ext3 file system's journal to the 
 | 
					journal=update		Update the ext3 file system's journal to the current
 | 
				
			||||||
			current format.
 | 
								format.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
journal=inum		When a journal already exists, this option is 
 | 
					journal=inum		When a journal already exists, this option is ignored.
 | 
				
			||||||
			ignored. Otherwise, it specifies the number of
 | 
								Otherwise, it specifies the number of the inode which
 | 
				
			||||||
			the inode which will represent the ext3 file
 | 
								will represent the ext3 file system's journal file.
 | 
				
			||||||
			system's journal file.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
journal_dev=devnum	When the external journal device's major/minor numbers
 | 
					journal_dev=devnum	When the external journal device's major/minor numbers
 | 
				
			||||||
			have changed, this option allows to specify the new
 | 
								have changed, this option allows the user to specify
 | 
				
			||||||
			journal location. The journal device is identified
 | 
								the new journal location.  The journal device is
 | 
				
			||||||
			through its new major/minor numbers encoded in devnum.
 | 
								identified through its new major/minor numbers encoded
 | 
				
			||||||
 | 
								in devnum.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
noload			Don't load the journal on mounting.
 | 
					noload			Don't load the journal on mounting.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
data=journal		All data are committed into the journal prior
 | 
					data=journal		All data are committed into the journal prior to being
 | 
				
			||||||
			to being written into the main file system.
 | 
								written into the main file system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
data=ordered	(*)	All data are forced directly out to the main file
 | 
					data=ordered	(*)	All data are forced directly out to the main file
 | 
				
			||||||
			system prior to its metadata being committed to
 | 
								system prior to its metadata being committed to the
 | 
				
			||||||
			the journal.
 | 
								journal.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
data=writeback		Data ordering is not preserved, data may be
 | 
					data=writeback		Data ordering is not preserved, data may be written
 | 
				
			||||||
			written into the main file system after its
 | 
								into the main file system after its metadata has been
 | 
				
			||||||
			metadata has been committed to the journal.
 | 
								committed to the journal.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
commit=nrsec	(*)	Ext3 can be told to sync all its data and metadata
 | 
					commit=nrsec	(*)	Ext3 can be told to sync all its data and metadata
 | 
				
			||||||
			every 'nrsec' seconds. The default value is 5 seconds.
 | 
								every 'nrsec' seconds. The default value is 5 seconds.
 | 
				
			||||||
			This means that if you lose your power, you will lose,
 | 
								This means that if you lose your power, you will lose
 | 
				
			||||||
			as much, the latest 5 seconds of work (your filesystem
 | 
								as much as the latest 5 seconds of work (your
 | 
				
			||||||
			will not be damaged though, thanks to journaling). This
 | 
								filesystem will not be damaged though, thanks to the
 | 
				
			||||||
			default value (or any low value) will hurt performance,
 | 
								journaling).  This default value (or any low value)
 | 
				
			||||||
			but it's good for data-safety. Setting it to 0 will
 | 
								will hurt performance, but it's good for data-safety.
 | 
				
			||||||
			have the same effect than leaving the default 5 sec.
 | 
								Setting it to 0 will have the same effect as leaving
 | 
				
			||||||
 | 
								it at the default (5 seconds).
 | 
				
			||||||
			Setting it to very large values will improve
 | 
								Setting it to very large values will improve
 | 
				
			||||||
			performance.
 | 
								performance.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
barrier=1		This enables/disables barriers. barrier=0 disables it,
 | 
					barrier=1		This enables/disables barriers.  barrier=0 disables
 | 
				
			||||||
			barrier=1 enables it.
 | 
								it, barrier=1 enables it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
orlov		(*)	This enables the new Orlov block allocator. It's enabled
 | 
					orlov		(*)	This enables the new Orlov block allocator. It is
 | 
				
			||||||
			by default.
 | 
								enabled by default.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
oldalloc		This disables the Orlov block allocator and enables the
 | 
					oldalloc		This disables the Orlov block allocator and enables
 | 
				
			||||||
			old block allocator. Orlov should have better performance,
 | 
								the old block allocator.  Orlov should have better
 | 
				
			||||||
			we'd like to get some feedback if it's the contrary for
 | 
								performance - we'd like to get some feedback if it's
 | 
				
			||||||
			you.
 | 
								the contrary for you.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
user_xattr		Enables Extended User Attributes. Additionally, you need
 | 
					user_xattr		Enables Extended User Attributes.  Additionally, you
 | 
				
			||||||
			to have extended attribute support enabled in the kernel
 | 
								need to have extended attribute support enabled in the
 | 
				
			||||||
			configuration (CONFIG_EXT3_FS_XATTR). See the attr(5)
 | 
								kernel configuration (CONFIG_EXT3_FS_XATTR).  See the
 | 
				
			||||||
			manual page and http://acl.bestbits.at to learn more
 | 
								attr(5) manual page and http://acl.bestbits.at/ to
 | 
				
			||||||
			about extended attributes.
 | 
								learn more about extended attributes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nouser_xattr		Disables Extended User Attributes.
 | 
					nouser_xattr		Disables Extended User Attributes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
acl			Enables POSIX Access Control Lists support.  Additionally,
 | 
					acl			Enables POSIX Access Control Lists support.
 | 
				
			||||||
			you need to have ACL support enabled in the kernel
 | 
								Additionally, you need to have ACL support enabled in
 | 
				
			||||||
			configuration (CONFIG_EXT3_FS_POSIX_ACL). See the acl(5)
 | 
								the kernel configuration (CONFIG_EXT3_FS_POSIX_ACL).
 | 
				
			||||||
			manual page and http://acl.bestbits.at for more
 | 
								See the acl(5) manual page and http://acl.bestbits.at/
 | 
				
			||||||
			information.
 | 
								for more information.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
noacl			This option disables POSIX Access Control List support.
 | 
					noacl			This option disables POSIX Access Control List
 | 
				
			||||||
 | 
								support.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
reservation
 | 
					reservation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -108,81 +110,81 @@ resuid=n		The user ID which may use the reserved blocks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sb=n			Use alternate superblock at this location.
 | 
					sb=n			Use alternate superblock at this location.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
quota			Quota options are currently silently ignored.
 | 
					quota
 | 
				
			||||||
noquota			(see fs/ext3/super.c, line 594)
 | 
					noquota
 | 
				
			||||||
grpquota
 | 
					grpquota
 | 
				
			||||||
usrquota
 | 
					usrquota
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Specification
 | 
					Specification
 | 
				
			||||||
=============
 | 
					=============
 | 
				
			||||||
ext3 shares all disk implementation with ext2 filesystem, and add
 | 
					Ext3 shares all disk implementation with the ext2 filesystem, and adds
 | 
				
			||||||
transactions capabilities to ext2.  Journaling is done by the
 | 
					transactions capabilities to ext2.  Journaling is done by the Journaling Block
 | 
				
			||||||
Journaling block device layer.
 | 
					Device layer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Journaling Block Device layer
 | 
					Journaling Block Device layer
 | 
				
			||||||
-----------------------------
 | 
					-----------------------------
 | 
				
			||||||
The Journaling Block Device layer (JBD) isn't ext3 specific.  It was
 | 
					The Journaling Block Device layer (JBD) isn't ext3 specific.  It was design to
 | 
				
			||||||
design to add journaling capabilities on a block device.  The ext3
 | 
					add journaling capabilities on a block device.  The ext3 filesystem code will
 | 
				
			||||||
filesystem code will inform the JBD of modifications it is performing
 | 
					inform the JBD of modifications it is performing (called a transaction).  The
 | 
				
			||||||
(Call a transaction).  the journal support the transactions start and
 | 
					journal supports the transactions start and stop, and in case of crash, the
 | 
				
			||||||
stop, and in case of crash, the journal can replayed the transactions
 | 
					journal can replayed the transactions to put the partition back in a
 | 
				
			||||||
to put the partition on a consistent state fastly.
 | 
					consistent state fast.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
handles represent a single atomic update to a filesystem.  JBD can
 | 
					Handles represent a single atomic update to a filesystem.  JBD can handle an
 | 
				
			||||||
handle external journal on a block device.
 | 
					external journal on a block device.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Data Mode
 | 
					Data Mode
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
There's 3 different data modes:
 | 
					There are 3 different data modes:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* writeback mode
 | 
					* writeback mode
 | 
				
			||||||
In data=writeback mode, ext3 does not journal data at all.  This mode
 | 
					In data=writeback mode, ext3 does not journal data at all.  This mode provides
 | 
				
			||||||
provides a similar level of journaling as XFS, JFS, and ReiserFS in its
 | 
					a similar level of journaling as that of XFS, JFS, and ReiserFS in its default
 | 
				
			||||||
default mode - metadata journaling.  A crash+recovery can cause
 | 
					mode - metadata journaling.  A crash+recovery can cause incorrect data to
 | 
				
			||||||
incorrect data to appear in files which were written shortly before the
 | 
					appear in files which were written shortly before the crash.  This mode will
 | 
				
			||||||
crash.  This mode will typically provide the best ext3 performance.
 | 
					typically provide the best ext3 performance.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* ordered mode
 | 
					* ordered mode
 | 
				
			||||||
In data=ordered mode, ext3 only officially journals metadata, but it
 | 
					In data=ordered mode, ext3 only officially journals metadata, but it logically
 | 
				
			||||||
logically groups metadata and data blocks into a single unit called a
 | 
					groups metadata and data blocks into a single unit called a transaction.  When
 | 
				
			||||||
transaction.  When it's time to write the new metadata out to disk, the
 | 
					it's time to write the new metadata out to disk, the associated data blocks
 | 
				
			||||||
associated data blocks are written first.  In general, this mode
 | 
					are written first.  In general, this mode performs slightly slower than
 | 
				
			||||||
perform slightly slower than writeback but significantly faster than
 | 
					writeback but significantly faster than journal mode.
 | 
				
			||||||
journal mode.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
* journal mode
 | 
					* journal mode
 | 
				
			||||||
data=journal mode provides full data and metadata journaling.  All new
 | 
					data=journal mode provides full data and metadata journaling.  All new data is
 | 
				
			||||||
data is written to the journal first, and then to its final location. 
 | 
					written to the journal first, and then to its final location.
 | 
				
			||||||
In the event of a crash, the journal can be replayed, bringing both
 | 
					In the event of a crash, the journal can be replayed, bringing both data and
 | 
				
			||||||
data and metadata into a consistent state.  This mode is the slowest
 | 
					metadata into a consistent state.  This mode is the slowest except when data
 | 
				
			||||||
except when data needs to be read from and written to disk at the same
 | 
					needs to be read from and written to disk at the same time where it
 | 
				
			||||||
time where it outperform all others mode.
 | 
					outperforms all others modes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Compatibility
 | 
					Compatibility
 | 
				
			||||||
-------------
 | 
					-------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ext2 partitions can be easily convert to ext3, with `tune2fs -j <dev>`.
 | 
					Ext2 partitions can be easily convert to ext3, with `tune2fs -j <dev>`.
 | 
				
			||||||
Ext3 is fully compatible with Ext2.  Ext3 partitions can easily be
 | 
					Ext3 is fully compatible with Ext2.  Ext3 partitions can easily be mounted as
 | 
				
			||||||
mounted as Ext2.
 | 
					Ext2.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
External Tools
 | 
					External Tools
 | 
				
			||||||
==============
 | 
					==============
 | 
				
			||||||
see manual pages to know more.
 | 
					See manual pages to learn more.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tune2fs: 	create a ext3 journal on a ext2 partition with the -j flag.
 | 
				
			||||||
 | 
					mke2fs: 	create a ext3 partition with the -j flag.
 | 
				
			||||||
 | 
					debugfs: 	ext2 and ext3 file system debugger.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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
 | 
					References
 | 
				
			||||||
==========
 | 
					==========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
kernel source:	file:/usr/src/linux/fs/ext3
 | 
					kernel source:	<file:fs/ext3/>
 | 
				
			||||||
		file:/usr/src/linux/fs/jbd
 | 
							<file:fs/jbd/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
programs: 	http://e2fsprogs.sourceforge.net
 | 
					programs: 	http://e2fsprogs.sourceforge.net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
useful link:
 | 
					useful links:	http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html
 | 
				
			||||||
		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-fs7/
 | 
				
			||||||
		http://www-106.ibm.com/developerworks/linux/library/l-fs8/
 | 
							http://www-106.ibm.com/developerworks/linux/library/l-fs8/
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue