Jump to content

ext3

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 193.136.173.41 (talk) at 00:16, 18 October 2007 (Disadvantages). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
ext3
Developer(s)Open Source Community
Full nameThird extended file system
IntroducedNovember 2001 with Linux 2.4.15
Partition IDs0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Structures
Directory contentsTable, Tree
File allocationbitmap (free space), table (metadata)
Bad blocksTable
Limits
Max volume size2TiB – 32TiB
Max file size16GiB – 64TiB
Max no. of filesVariable[1]
Max filename length255 bytes
Allowed filename
characters
All bytes except NUL and '/'
Features
Dates recordedmodification (mtime), attribute modification (ctime), access (atime)
Date rangeDecember 14, 1901 - January 18, 2038
Date resolution1s
ForksYes
AttributesNo-atime, append-only, synchronous-write, no-dump, h-tree (directory), immutable, journal, secure-delete, top (directory), allow-undelete
File system
permissions
Unix permissions, ACLs and arbitrary security attributes (Linux 2.6 and later)
Transparent
compression
No
Transparent
encryption
No (provided at the block device level)
Other
Supported
operating systems
Linux, BSD, Windows (through an IFS)

The ext3 or third extended filesystem is a journalled file system that is commonly used by the Linux operating system. It is the default file system for many popular Linux distributions. Stephen Tweedie first revealed that he was working on extending ext2 in a February 1999 kernel mailing list posting[2] and the filesystem was merged with the mainline kernel from 2.4.15 onward.[3]

Advantages

Although its performance (speed) and security [citation needed] are less attractive than competitors such as JFS2, ReiserFS and XFS, it does have the significant advantage that it allows in-place upgrades from the popular ext2 file system without having to back up and restore data as well as requiring lower CPU consumption[1] than ReiserFS and XFS.

The ext3 file system adds, over its predecessor:

  • A journal
  • Tree-based directory indices for directories spanning multiple blocks
  • Online filesystem growth

Without these, any ext3 file system is also a valid ext2 file system. This has allowed well-tested and mature file system maintenance utilities for maintaining and repairing ext2 file systems to also be used with ext3 without major changes. The ext2 and ext3 file systems share the same standard set of utilities, e2fsprogs, which includes a fsck tool. The close relationship also makes conversion between the two file systems (both forward to ext3 and backward to ext2) straightforward.

There are three levels of journaling available in the Linux implementation of ext3:

Journal
(slow, but least risky) Both metadata and file contents are written to the journal before being committed to the main filesystem. This improves reliability at a performance penalty because all data has to be written twice. Without this setting in /etc/fstab, a file being edited in-place during a power outage or kernel panic risks being corrupted, depending on how the application is writing to the file.
Ordered
(medium speed, medium risk) Ordered is as with writeback, but forces file contents to be written before its associated metadata is marked as committed in the journal. This is the default on many Linux distributions.
Writeback
(fastest, most risky; equivalent to ext2 in some sense) Here metadata is journaled but file contents are not. This is faster, but introduces the hazard of out-of-order writes where, for example, files being appended to during a crash may gain a tail of garbage on the next mount.

While in some contexts the lack of "modern" filesystem features such as dynamic inode allocation and tree-based data structures could be considered a disadvantage, in terms of recoverability this gives ext3 a significant advantage over filesystems with those features. The filesystem metadata is all in fixed, well-known locations, and there is some redundancy inherent in the data structures that may allow ext2 and ext3 to be recoverable in the face of significant data corruption, where tree-based filesystems may not be recoverable.

pussy

Ext4dev / Ext4

An enhanced version of the filesystem was released on October 10, 2006 under the name of ext4. It includes many new features.

Notes and references

  1. ^ The maximum number of inodes (and hence the maximum number of files and directories) is set when the file system is created. If V is the volume size in bytes, then the default number of inodes is given by V/213 (or the number of blocks, whichever is less), and the minimum by V/223. The default was deemed sufficient for most applications.
  2. ^ Stephen C. Tweedie (February 17 1999). "Re: fsync on large files". Linux kernel mailing list. {{cite web}}: Check date values in: |year= (help)CS1 maint: year (link)
  3. ^ Rob Radez (November 23 2001). "2.4.15-final". Linux kernel mailing list. {{cite web}}: Check date values in: |year= (help)CS1 maint: year (link)

See also