Skip to content

Commit

Permalink
[PATCH] ext4: enable building of ext4
Browse files Browse the repository at this point in the history
Originally part of a patch from Mingming Cao and Randy Dunlap.  Reorganized
by Shaggy.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Mingming Cao<cmm@us.ibm.com>
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Mingming Cao authored and Linus Torvalds committed Oct 11, 2006
1 parent 617ba13 commit 02ea210
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 4 deletions.
75 changes: 71 additions & 4 deletions fs/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,73 @@ config EXT3_FS_SECURITY
If you are not using a security module that requires using
extended attributes for file security labels, say N.

config EXT4DEV_FS
tristate "Ext4dev/ext4 extended fs support development (EXPERIMENTAL)"
depends on EXPERIMENTAL
select JBD
help
Ext4dev is a predecessor filesystem of the next generation
extended fs ext4, based on ext3 filesystem code. It will be
renamed ext4 fs later, once ext4dev is mature and stabilized.

Unlike the change from ext2 filesystem to ext3 filesystem,
the on-disk format of ext4dev is not the same as ext3 any more:
it is based on extent maps and it supports 48-bit physical block
numbers. These combined on-disk format changes will allow
ext4dev/ext4 to handle more than 16 TB filesystem volumes --
a hard limit that ext3 cannot overcome without changing the
on-disk format.

Other than extent maps and 48-bit block numbers, ext4dev also is
likely to have other new features such as persistent preallocation,
high resolution time stamps, and larger file support etc. These
features will be added to ext4dev gradually.

To compile this file system support as a module, choose M here. The
module will be called ext4dev. Be aware, however, that the filesystem
of your root partition (the one containing the directory /) cannot
be compiled as a module, and so this could be dangerous.

If unsure, say N.

config EXT4DEV_FS_XATTR
bool "Ext4dev extended attributes"
depends on EXT4DEV_FS
default y
help
Extended attributes are name:value pairs associated with inodes by
the kernel or by users (see the attr(5) manual page, or visit
<http://acl.bestbits.at/> for details).

If unsure, say N.

You need this for POSIX ACL support on ext4dev/ext4.

config EXT4DEV_FS_POSIX_ACL
bool "Ext4dev POSIX Access Control Lists"
depends on EXT4DEV_FS_XATTR
select FS_POSIX_ACL
help
POSIX Access Control Lists (ACLs) support permissions for users and
groups beyond the owner/group/world scheme.

To learn more about Access Control Lists, visit the POSIX ACLs for
Linux website <http://acl.bestbits.at/>.

If you don't know what Access Control Lists are, say N

config EXT4DEV_FS_SECURITY
bool "Ext4dev Security Labels"
depends on EXT4DEV_FS_XATTR
help
Security labels support alternative access control models
implemented by security modules like SELinux. This option
enables an extended attribute handler for file security
labels in the ext4dev/ext4 filesystem.

If you are not using a security module that requires using
extended attributes for file security labels, say N.

config JBD
tristate
help
Expand Down Expand Up @@ -173,11 +240,11 @@ config JBD_DEBUG
"echo 0 > /proc/sys/fs/jbd-debug".

config FS_MBCACHE
# Meta block cache for Extended Attributes (ext2/ext3)
# Meta block cache for Extended Attributes (ext2/ext3/ext4)
tristate
depends on EXT2_FS_XATTR || EXT3_FS_XATTR
default y if EXT2_FS=y || EXT3_FS=y
default m if EXT2_FS=m || EXT3_FS=m
depends on EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4DEV_FS_XATTR
default y if EXT2_FS=y || EXT3_FS=y || EXT4DEV_FS=y
default m if EXT2_FS=m || EXT3_FS=m || EXT4DEV_FS=m

config REISERFS_FS
tristate "Reiserfs support"
Expand Down
1 change: 1 addition & 0 deletions fs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,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_EXT4DEV_FS) += ext4/ # Before ext2 so root fs can be ext4dev
obj-$(CONFIG_JBD) += jbd/
obj-$(CONFIG_EXT2_FS) += ext2/
obj-$(CONFIG_CRAMFS) += cramfs/
Expand Down
1 change: 1 addition & 0 deletions include/linux/magic.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#define EFS_SUPER_MAGIC 0x414A53
#define EXT2_SUPER_MAGIC 0xEF53
#define EXT3_SUPER_MAGIC 0xEF53
#define EXT4_SUPER_MAGIC 0xEF53
#define HPFS_SUPER_MAGIC 0xf995e849
#define ISOFS_SUPER_MAGIC 0x9660
#define JFFS2_SUPER_MAGIC 0x72b6
Expand Down

0 comments on commit 02ea210

Please sign in to comment.