Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58617d5e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: Remove automatic enabling of the HUGE_FILE feature flag
  ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback
  ext4: Update Documentation/filesystems/ext4.txt
  ext4: Remove unused mount options: nomballoc, mballoc, nocheck
  ext4: Remove compile warnings when building w/o CONFIG_PROC_FS
  ext4: Add missing newlines to printk messages
  ext4: Fix file fragmentation during large file write.
  vfs: Add no_nrwrite_index_update writeback control flag
  vfs: Remove the range_cont writeback mode.
  ext4: Use tag dirty lookup during mpage_da_submit_io
  ext4: let the block device know when unused blocks can be discarded
  ext4: Don't reuse released data blocks until transaction commits
  ext4: Use an rbtree for tracking blocks freed during transaction.
  ext4: Do mballoc init before doing filesystem recovery
  ext4: Free ext4_prealloc_space using kmem_cache_free
  ext4: Fix Kconfig typo for ext4dev
  ext4: Remove an old reference to ext4dev in Makefile comment
parents 26e9a397 f287a1a5
Loading
Loading
Loading
Loading
+15 −17
Original line number Diff line number Diff line
@@ -2,19 +2,24 @@
Ext4 Filesystem
===============

This is a development version of the ext4 filesystem, an advanced level
of the ext3 filesystem which incorporates scalability and reliability
enhancements for supporting large filesystems (64 bit) in keeping with
increasing disk capacities and state-of-the-art feature requirements.
Ext4 is an an advanced level of the ext3 filesystem which incorporates
scalability and reliability enhancements for supporting large filesystems
(64 bit) in keeping with increasing disk capacities and state-of-the-art
feature requirements.

Mailing list:	linux-ext4@vger.kernel.org
Web site:	http://ext4.wiki.kernel.org


1. Quick usage instructions:
===========================

Note: More extensive information for getting started with ext4 can be
      found at the ext4 wiki site at the URL:
      http://ext4.wiki.kernel.org/index.php/Ext4_Howto

  - Compile and install the latest version of e2fsprogs (as of this
    writing version 1.41) from:
    writing version 1.41.3) from:

    http://sourceforge.net/project/showfiles.php?group_id=2406
	
@@ -36,11 +41,9 @@ Mailing list: linux-ext4@vger.kernel.org

    	# mke2fs -t ext4 /dev/hda1

    Or configure an existing ext3 filesystem to support extents and set
    the test_fs flag to indicate that it's ok for an in-development
    filesystem to touch this filesystem:
    Or to configure an existing ext3 filesystem to support extents: 

	# tune2fs -O extents -E test_fs /dev/hda1
	# tune2fs -O extents /dev/hda1

    If the filesystem was created with 128 byte inodes, it can be
    converted to use 256 byte for greater efficiency via:
@@ -104,8 +107,8 @@ exist yet so I'm not sure they're in the near-term roadmap.
The big performance win will come with mballoc, delalloc and flex_bg
grouping of bitmaps and inode tables.  Some test results available here:

 - http://www.bullopensource.org/ext4/20080530/ffsb-write-2.6.26-rc2.html
 - http://www.bullopensource.org/ext4/20080530/ffsb-readwrite-2.6.26-rc2.html
 - http://www.bullopensource.org/ext4/20080818-ffsb/ffsb-write-2.6.27-rc1.html
 - http://www.bullopensource.org/ext4/20080818-ffsb/ffsb-readwrite-2.6.27-rc1.html

3. Options
==========
@@ -214,9 +217,6 @@ noreservation
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.

errors=remount-ro(*)	Remount the filesystem read-only on an error.
@@ -253,8 +253,6 @@ nobh (a) cache disk block mapping information
			"nobh" option tries to avoid associating buffer
			heads (supported only for "writeback" mode).

mballoc		(*)	Use the multiple block allocator for block allocation
nomballoc		disabled multiple block allocator for block allocation.
stripe=n		Number of filesystem blocks that mballoc will try
			to use for allocation size and alignment. For RAID5/6
			systems this should be the number of data
+1 −1
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ config EXT4_FS
	  filesystem initially.

	  To compile this file system support as a module, choose M here. The
	  module will be called ext4dev.
	  module will be called ext4.

	  If unsure, say N.

+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ obj-$(CONFIG_DLM) += dlm/
# Do not add any filesystems before this line
obj-$(CONFIG_REISERFS_FS)	+= reiserfs/
obj-$(CONFIG_EXT3_FS)		+= ext3/ # Before ext2 so root fs can be ext3
obj-$(CONFIG_EXT4_FS)		+= ext4/ # Before ext2 so root fs can be ext4dev
obj-$(CONFIG_EXT4_FS)		+= ext4/ # Before ext2 so root fs can be ext4
obj-$(CONFIG_JBD)		+= jbd/
obj-$(CONFIG_JBD2)		+= jbd2/
obj-$(CONFIG_EXT2_FS)		+= ext2/
+10 −2
Original line number Diff line number Diff line
@@ -568,8 +568,16 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode,

	/* this isn't the right place to decide whether block is metadata
	 * inode.c/extents.c knows better, but for safety ... */
	if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode) ||
			ext4_should_journal_data(inode))
	if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))
		metadata = 1;

	/* We need to make sure we don't reuse
	 * block released untill the transaction commit.
	 * writeback mode have weak data consistency so
	 * don't force data as metadata when freeing block
	 * for writeback mode.
	 */
	if (metadata == 0 && !ext4_should_writeback_data(inode))
		metadata = 1;

	sb = inode->i_sb;
+0 −1
Original line number Diff line number Diff line
@@ -511,7 +511,6 @@ do { \
/*
 * Mount flags
 */
#define EXT4_MOUNT_CHECK		0x00001	/* Do mount-time checks */
#define EXT4_MOUNT_OLDALLOC		0x00002  /* Don't use the new Orlov allocator */
#define EXT4_MOUNT_GRPID		0x00004	/* Create files with directory's group */
#define EXT4_MOUNT_DEBUG		0x00008	/* Some debugging messages */
Loading