1 changed files with 611 additions and 0 deletions
			
			
		@ -0,0 +1,611 @@
					 | 
				
			||||
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
 | 
				
			||||
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
 | 
				
			||||
#
 | 
				
			||||
# Filename: package/.../linux26/linux-2.6.git-03010a3350301baac2154fa66de925ae2981b7e3.patch
 | 
				
			||||
# Copyright (C) 2008 The OpenSDE Project
 | 
				
			||||
#
 | 
				
			||||
# More information can be found in the files COPYING and README.
 | 
				
			||||
#
 | 
				
			||||
# This patch file is dual-licensed. It is available under the license the
 | 
				
			||||
# patched project is licensed under, as long as it is an OpenSource license
 | 
				
			||||
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
 | 
				
			||||
# of the GNU General Public License as published by the Free Software
 | 
				
			||||
# Foundation; either version 2 of the License, or (at your option) any later
 | 
				
			||||
# version.
 | 
				
			||||
# --- SDE-COPYRIGHT-NOTE-END ---
 | 
				
			||||
 | 
				
			||||
From: Theodore Ts'o <[email protected]>
 | 
				
			||||
Date: Sat, 11 Oct 2008 00:02:48 +0000 (-0400)
 | 
				
			||||
Subject: ext4: Rename ext4dev to ext4
 | 
				
			||||
X-Git-Tag: v2.6.28-rc1~709^2
 | 
				
			||||
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=03010a3350301baac2154fa66de925ae2981b7e3
 | 
				
			||||
 | 
				
			||||
ext4: Rename ext4dev to ext4
 | 
				
			||||
 | 
				
			||||
The ext4 filesystem is getting stable enough that it's time to drop
 | 
				
			||||
the "dev" prefix.  Also remove the requirement for the TEST_FILESYS
 | 
				
			||||
flag.
 | 
				
			||||
 | 
				
			||||
Signed-off-by: "Theodore Ts'o" <[email protected]>
 | 
				
			||||
---
 | 
				
			||||
 | 
				
			||||
diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt
 | 
				
			||||
index 2890579..74484e6 100644
 | 
				
			||||
--- a/Documentation/filesystems/ext4.txt
 | 
				
			||||
+++ b/Documentation/filesystems/ext4.txt
 | 
				
			||||
@@ -32,9 +32,9 @@ Mailing list: [email protected]
 | 
				
			||||
     you will need to merge your changes with the version from e2fsprogs
 | 
				
			||||
     1.41.x.
 | 
				
			||||
 
 | 
				
			||||
-  - Create a new filesystem using the ext4dev filesystem type:
 | 
				
			||||
+  - Create a new filesystem using the ext4 filesystem type:
 | 
				
			||||
 
 | 
				
			||||
-    	# mke2fs -t ext4dev /dev/hda1
 | 
				
			||||
+    	# 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
 | 
				
			||||
@@ -47,13 +47,13 @@ Mailing list: [email protected]
 | 
				
			||||
 
 | 
				
			||||
         # tune2fs -I 256 /dev/hda1
 | 
				
			||||
 
 | 
				
			||||
-    (Note: we currently do not have tools to convert an ext4dev
 | 
				
			||||
+    (Note: we currently do not have tools to convert an ext4
 | 
				
			||||
     filesystem back to ext3; so please do not do try this on production
 | 
				
			||||
     filesystems.)
 | 
				
			||||
 
 | 
				
			||||
   - Mounting:
 | 
				
			||||
 
 | 
				
			||||
-	# mount -t ext4dev /dev/hda1 /wherever
 | 
				
			||||
+	# mount -t ext4 /dev/hda1 /wherever
 | 
				
			||||
 
 | 
				
			||||
   - When comparing performance with other filesystems, remember that
 | 
				
			||||
     ext3/4 by default offers higher data integrity guarantees than most.
 | 
				
			||||
diff --git a/fs/Kconfig b/fs/Kconfig
 | 
				
			||||
index abccb5d..40183d9 100644
 | 
				
			||||
--- a/fs/Kconfig
 | 
				
			||||
+++ b/fs/Kconfig
 | 
				
			||||
@@ -136,37 +136,51 @@ 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
 | 
				
			||||
+config EXT4_FS
 | 
				
			||||
+	tristate "The Extended 4 (ext4) filesystem"
 | 
				
			||||
 	select JBD2
 | 
				
			||||
 	select CRC16
 | 
				
			||||
 	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.
 | 
				
			||||
+	  This is the next generation of the ext3 filesystem.
 | 
				
			||||
 
 | 
				
			||||
 	  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.
 | 
				
			||||
+	  the on-disk format of ext4 is not forwards compatible with
 | 
				
			||||
+	  ext3; it is based on extent maps and it supports 48-bit
 | 
				
			||||
+	  physical block numbers.  The ext4 filesystem also supports delayed
 | 
				
			||||
+	  allocation, persistent preallocation, high resolution time stamps,
 | 
				
			||||
+	  and a number of other features to improve performance and speed
 | 
				
			||||
+	  up fsck time.  For more information, please see the web pages at
 | 
				
			||||
+	  http://ext4.wiki.kernel.org.
 | 
				
			||||
+
 | 
				
			||||
+	  The ext4 filesystem will support mounting an ext3
 | 
				
			||||
+	  filesystem; while there will be some performance gains from
 | 
				
			||||
+	  the delayed allocation and inode table readahead, the best
 | 
				
			||||
+	  performance gains will require enabling ext4 features in the
 | 
				
			||||
+	  filesystem, or formating a new filesystem as an ext4
 | 
				
			||||
+	  filesystem initially.
 | 
				
			||||
 
 | 
				
			||||
 	  To compile this file system support as a module, choose M here. The
 | 
				
			||||
 	  module will be called ext4dev.
 | 
				
			||||
 
 | 
				
			||||
 	  If unsure, say N.
 | 
				
			||||
 
 | 
				
			||||
-config EXT4DEV_FS_XATTR
 | 
				
			||||
-	bool "Ext4dev extended attributes"
 | 
				
			||||
-	depends on EXT4DEV_FS
 | 
				
			||||
+config EXT4DEV_COMPAT
 | 
				
			||||
+	bool "Enable ext4dev compatibility"
 | 
				
			||||
+	depends on EXT4_FS
 | 
				
			||||
+	help
 | 
				
			||||
+	  Starting with 2.6.28, the name of the ext4 filesystem was
 | 
				
			||||
+	  renamed from ext4dev to ext4.  Unfortunately there are some
 | 
				
			||||
+	  lagecy userspace programs (such as klibc's fstype) have
 | 
				
			||||
+	  "ext4dev" hardcoded.  
 | 
				
			||||
+
 | 
				
			||||
+	  To enable backwards compatibility so that systems that are
 | 
				
			||||
+	  still expecting to mount ext4 filesystems using ext4dev,
 | 
				
			||||
+	  chose Y here.   This feature will go away by 2.6.31, so
 | 
				
			||||
+	  please arrange to get your userspace programs fixed!
 | 
				
			||||
+
 | 
				
			||||
+config EXT4_FS_XATTR
 | 
				
			||||
+	bool "Ext4 extended attributes"
 | 
				
			||||
+	depends on EXT4_FS
 | 
				
			||||
 	default y
 | 
				
			||||
 	help
 | 
				
			||||
 	  Extended attributes are name:value pairs associated with inodes by
 | 
				
			||||
@@ -175,11 +189,11 @@ config EXT4DEV_FS_XATTR
 | 
				
			||||
 
 | 
				
			||||
 	  If unsure, say N.
 | 
				
			||||
 
 | 
				
			||||
-	  You need this for POSIX ACL support on ext4dev/ext4.
 | 
				
			||||
+	  You need this for POSIX ACL support on ext4.
 | 
				
			||||
 
 | 
				
			||||
-config EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
-	bool "Ext4dev POSIX Access Control Lists"
 | 
				
			||||
-	depends on EXT4DEV_FS_XATTR
 | 
				
			||||
+config EXT4_FS_POSIX_ACL
 | 
				
			||||
+	bool "Ext4 POSIX Access Control Lists"
 | 
				
			||||
+	depends on EXT4_FS_XATTR
 | 
				
			||||
 	select FS_POSIX_ACL
 | 
				
			||||
 	help
 | 
				
			||||
 	  POSIX Access Control Lists (ACLs) support permissions for users and
 | 
				
			||||
@@ -190,14 +204,14 @@ config EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
 
 | 
				
			||||
 	  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
 | 
				
			||||
+config EXT4_FS_SECURITY
 | 
				
			||||
+	bool "Ext4 Security Labels"
 | 
				
			||||
+	depends on EXT4_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.
 | 
				
			||||
+	  labels in the ext4 filesystem.
 | 
				
			||||
 
 | 
				
			||||
 	  If you are not using a security module that requires using
 | 
				
			||||
 	  extended attributes for file security labels, say N.
 | 
				
			||||
@@ -240,22 +254,22 @@ config JBD2
 | 
				
			||||
 	help
 | 
				
			||||
 	  This is a generic journaling layer for block devices that support
 | 
				
			||||
 	  both 32-bit and 64-bit block numbers.  It is currently used by
 | 
				
			||||
-	  the ext4dev/ext4 filesystem, but it could also be used to add
 | 
				
			||||
+	  the ext4 filesystem, but it could also be used to add
 | 
				
			||||
 	  journal support to other file systems or block devices such
 | 
				
			||||
 	  as RAID or LVM.
 | 
				
			||||
 
 | 
				
			||||
-	  If you are using ext4dev/ext4, you need to say Y here. If you are not
 | 
				
			||||
-	  using ext4dev/ext4 then you will probably want to say N.
 | 
				
			||||
+	  If you are using ext4, you need to say Y here. If you are not
 | 
				
			||||
+	  using ext4 then you will probably want to say N.
 | 
				
			||||
 
 | 
				
			||||
 	  To compile this device as a module, choose M here. The module will be
 | 
				
			||||
-	  called jbd2.  If you are compiling ext4dev/ext4 into the kernel,
 | 
				
			||||
+	  called jbd2.  If you are compiling ext4 into the kernel,
 | 
				
			||||
 	  you cannot compile this code as a module.
 | 
				
			||||
 
 | 
				
			||||
 config JBD2_DEBUG
 | 
				
			||||
-	bool "JBD2 (ext4dev/ext4) debugging support"
 | 
				
			||||
+	bool "JBD2 (ext4) debugging support"
 | 
				
			||||
 	depends on JBD2 && DEBUG_FS
 | 
				
			||||
 	help
 | 
				
			||||
-	  If you are using the ext4dev/ext4 journaled file system (or
 | 
				
			||||
+	  If you are using the ext4 journaled file system (or
 | 
				
			||||
 	  potentially any other filesystem/device using JBD2), this option
 | 
				
			||||
 	  allows you to enable debugging output while the system is running,
 | 
				
			||||
 	  in order to help track down any problems you are having.
 | 
				
			||||
@@ -270,9 +284,9 @@ config JBD2_DEBUG
 | 
				
			||||
 config FS_MBCACHE
 | 
				
			||||
 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
 | 
				
			||||
 	tristate
 | 
				
			||||
-	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
 | 
				
			||||
+	depends on EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR
 | 
				
			||||
+	default y if EXT2_FS=y || EXT3_FS=y || EXT4_FS=y
 | 
				
			||||
+	default m if EXT2_FS=m || EXT3_FS=m || EXT4_FS=m
 | 
				
			||||
 
 | 
				
			||||
 config REISERFS_FS
 | 
				
			||||
 	tristate "Reiserfs support"
 | 
				
			||||
diff --git a/fs/Makefile b/fs/Makefile
 | 
				
			||||
index a1482a5..de404b0 100644
 | 
				
			||||
--- a/fs/Makefile
 | 
				
			||||
+++ b/fs/Makefile
 | 
				
			||||
@@ -69,7 +69,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_EXT4_FS)		+= ext4/ # Before ext2 so root fs can be ext4dev
 | 
				
			||||
 obj-$(CONFIG_JBD)		+= jbd/
 | 
				
			||||
 obj-$(CONFIG_JBD2)		+= jbd2/
 | 
				
			||||
 obj-$(CONFIG_EXT2_FS)		+= ext2/
 | 
				
			||||
diff --git a/fs/ext4/Makefile b/fs/ext4/Makefile
 | 
				
			||||
index ac6fa8c..a8ff003 100644
 | 
				
			||||
--- a/fs/ext4/Makefile
 | 
				
			||||
+++ b/fs/ext4/Makefile
 | 
				
			||||
@@ -2,12 +2,12 @@
 | 
				
			||||
 # Makefile for the linux ext4-filesystem routines.
 | 
				
			||||
 #
 | 
				
			||||
 
 | 
				
			||||
-obj-$(CONFIG_EXT4DEV_FS) += ext4dev.o
 | 
				
			||||
+obj-$(CONFIG_EXT4_FS) += ext4.o
 | 
				
			||||
 
 | 
				
			||||
-ext4dev-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
 | 
				
			||||
+ext4-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
 | 
				
			||||
 		   ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o \
 | 
				
			||||
 		   ext4_jbd2.o migrate.o mballoc.o
 | 
				
			||||
 
 | 
				
			||||
-ext4dev-$(CONFIG_EXT4DEV_FS_XATTR)	+= xattr.o xattr_user.o xattr_trusted.o
 | 
				
			||||
-ext4dev-$(CONFIG_EXT4DEV_FS_POSIX_ACL)	+= acl.o
 | 
				
			||||
-ext4dev-$(CONFIG_EXT4DEV_FS_SECURITY)	+= xattr_security.o
 | 
				
			||||
+ext4-$(CONFIG_EXT4_FS_XATTR)		+= xattr.o xattr_user.o xattr_trusted.o
 | 
				
			||||
+ext4-$(CONFIG_EXT4_FS_POSIX_ACL)	+= acl.o
 | 
				
			||||
+ext4-$(CONFIG_EXT4_FS_SECURITY)		+= xattr_security.o
 | 
				
			||||
diff --git a/fs/ext4/acl.h b/fs/ext4/acl.h
 | 
				
			||||
index 4c9948f..cb45257 100644
 | 
				
			||||
--- a/fs/ext4/acl.h
 | 
				
			||||
+++ b/fs/ext4/acl.h
 | 
				
			||||
@@ -51,7 +51,7 @@ static inline int ext4_acl_count(size_t size)
 | 
				
			||||
 	}
 | 
				
			||||
 }
 | 
				
			||||
 
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 
 | 
				
			||||
 /* Value for inode->u.ext4_i.i_acl and inode->u.ext4_i.i_default_acl
 | 
				
			||||
    if the ACL has not been cached */
 | 
				
			||||
@@ -62,7 +62,7 @@ extern int ext4_permission(struct inode *, int);
 | 
				
			||||
 extern int ext4_acl_chmod(struct inode *);
 | 
				
			||||
 extern int ext4_init_acl(handle_t *, struct inode *, struct inode *);
 | 
				
			||||
 
 | 
				
			||||
-#else  /* CONFIG_EXT4DEV_FS_POSIX_ACL */
 | 
				
			||||
+#else  /* CONFIG_EXT4_FS_POSIX_ACL */
 | 
				
			||||
 #include <linux/sched.h>
 | 
				
			||||
 #define ext4_permission NULL
 | 
				
			||||
 
 | 
				
			||||
@@ -77,5 +77,5 @@ ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
 | 
				
			||||
 {
 | 
				
			||||
 	return 0;
 | 
				
			||||
 }
 | 
				
			||||
-#endif  /* CONFIG_EXT4DEV_FS_POSIX_ACL */
 | 
				
			||||
+#endif  /* CONFIG_EXT4_FS_POSIX_ACL */
 | 
				
			||||
 
 | 
				
			||||
diff --git a/fs/ext4/ext4_i.h b/fs/ext4/ext4_i.h
 | 
				
			||||
index 2875eec..5c124c0 100644
 | 
				
			||||
--- a/fs/ext4/ext4_i.h
 | 
				
			||||
+++ b/fs/ext4/ext4_i.h
 | 
				
			||||
@@ -66,7 +66,7 @@ struct ext4_inode_info {
 | 
				
			||||
 	__u32	i_state;		/* Dynamic state flags for ext4 */
 | 
				
			||||
 
 | 
				
			||||
 	ext4_lblk_t		i_dir_start_lookup;
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	/*
 | 
				
			||||
 	 * Extended attributes can be read independently of the main file
 | 
				
			||||
 	 * data. Taking i_mutex even when reading would cause contention
 | 
				
			||||
@@ -76,7 +76,7 @@ struct ext4_inode_info {
 | 
				
			||||
 	 */
 | 
				
			||||
 	struct rw_semaphore xattr_sem;
 | 
				
			||||
 #endif
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	struct posix_acl	*i_acl;
 | 
				
			||||
 	struct posix_acl	*i_default_acl;
 | 
				
			||||
 #endif
 | 
				
			||||
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
 | 
				
			||||
index 6d5be15..6bd11fb 100644
 | 
				
			||||
--- a/fs/ext4/file.c
 | 
				
			||||
+++ b/fs/ext4/file.c
 | 
				
			||||
@@ -165,7 +165,7 @@ const struct inode_operations ext4_file_inode_operations = {
 | 
				
			||||
 	.truncate	= ext4_truncate,
 | 
				
			||||
 	.setattr	= ext4_setattr,
 | 
				
			||||
 	.getattr	= ext4_getattr,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	.setxattr	= generic_setxattr,
 | 
				
			||||
 	.getxattr	= generic_getxattr,
 | 
				
			||||
 	.listxattr	= ext4_listxattr,
 | 
				
			||||
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
 | 
				
			||||
index a474786..9b4ec9d 100644
 | 
				
			||||
--- a/fs/ext4/inode.c
 | 
				
			||||
+++ b/fs/ext4/inode.c
 | 
				
			||||
@@ -4041,7 +4041,7 @@ struct inode *ext4_iget(struct super_block *sb, unsigned long ino)
 | 
				
			||||
 		return inode;
 | 
				
			||||
 
 | 
				
			||||
 	ei = EXT4_I(inode);
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	ei->i_acl = EXT4_ACL_NOT_CACHED;
 | 
				
			||||
 	ei->i_default_acl = EXT4_ACL_NOT_CACHED;
 | 
				
			||||
 #endif
 | 
				
			||||
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
 | 
				
			||||
index 5295a92..92db9e9 100644
 | 
				
			||||
--- a/fs/ext4/namei.c
 | 
				
			||||
+++ b/fs/ext4/namei.c
 | 
				
			||||
@@ -1773,7 +1773,7 @@ retry:
 | 
				
			||||
 	err = PTR_ERR(inode);
 | 
				
			||||
 	if (!IS_ERR(inode)) {
 | 
				
			||||
 		init_special_inode(inode, inode->i_mode, rdev);
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 		inode->i_op = &ext4_special_inode_operations;
 | 
				
			||||
 #endif
 | 
				
			||||
 		err = ext4_add_nondir(handle, dentry, inode);
 | 
				
			||||
@@ -2456,7 +2456,7 @@ const struct inode_operations ext4_dir_inode_operations = {
 | 
				
			||||
 	.mknod		= ext4_mknod,
 | 
				
			||||
 	.rename		= ext4_rename,
 | 
				
			||||
 	.setattr	= ext4_setattr,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	.setxattr	= generic_setxattr,
 | 
				
			||||
 	.getxattr	= generic_getxattr,
 | 
				
			||||
 	.listxattr	= ext4_listxattr,
 | 
				
			||||
@@ -2467,7 +2467,7 @@ const struct inode_operations ext4_dir_inode_operations = {
 | 
				
			||||
 
 | 
				
			||||
 const struct inode_operations ext4_special_inode_operations = {
 | 
				
			||||
 	.setattr	= ext4_setattr,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	.setxattr	= generic_setxattr,
 | 
				
			||||
 	.getxattr	= generic_getxattr,
 | 
				
			||||
 	.listxattr	= ext4_listxattr,
 | 
				
			||||
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
 | 
				
			||||
index 7d86560..0e661c5 100644
 | 
				
			||||
--- a/fs/ext4/super.c
 | 
				
			||||
+++ b/fs/ext4/super.c
 | 
				
			||||
@@ -569,7 +569,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb)
 | 
				
			||||
 	ei = kmem_cache_alloc(ext4_inode_cachep, GFP_NOFS);
 | 
				
			||||
 	if (!ei)
 | 
				
			||||
 		return NULL;
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	ei->i_acl = EXT4_ACL_NOT_CACHED;
 | 
				
			||||
 	ei->i_default_acl = EXT4_ACL_NOT_CACHED;
 | 
				
			||||
 #endif
 | 
				
			||||
@@ -605,7 +605,7 @@ static void init_once(void *foo)
 | 
				
			||||
 	struct ext4_inode_info *ei = (struct ext4_inode_info *) foo;
 | 
				
			||||
 
 | 
				
			||||
 	INIT_LIST_HEAD(&ei->i_orphan);
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	init_rwsem(&ei->xattr_sem);
 | 
				
			||||
 #endif
 | 
				
			||||
 	init_rwsem(&ei->i_data_sem);
 | 
				
			||||
@@ -631,7 +631,7 @@ static void destroy_inodecache(void)
 | 
				
			||||
 
 | 
				
			||||
 static void ext4_clear_inode(struct inode *inode)
 | 
				
			||||
 {
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	if (EXT4_I(inode)->i_acl &&
 | 
				
			||||
 			EXT4_I(inode)->i_acl != EXT4_ACL_NOT_CACHED) {
 | 
				
			||||
 		posix_acl_release(EXT4_I(inode)->i_acl);
 | 
				
			||||
@@ -720,7 +720,7 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
 | 
				
			||||
 		seq_puts(seq, ",debug");
 | 
				
			||||
 	if (test_opt(sb, OLDALLOC))
 | 
				
			||||
 		seq_puts(seq, ",oldalloc");
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	if (test_opt(sb, XATTR_USER) &&
 | 
				
			||||
 		!(def_mount_opts & EXT4_DEFM_XATTR_USER))
 | 
				
			||||
 		seq_puts(seq, ",user_xattr");
 | 
				
			||||
@@ -729,7 +729,7 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
 | 
				
			||||
 		seq_puts(seq, ",nouser_xattr");
 | 
				
			||||
 	}
 | 
				
			||||
 #endif
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	if (test_opt(sb, POSIX_ACL) && !(def_mount_opts & EXT4_DEFM_ACL))
 | 
				
			||||
 		seq_puts(seq, ",acl");
 | 
				
			||||
 	if (!test_opt(sb, POSIX_ACL) && (def_mount_opts & EXT4_DEFM_ACL))
 | 
				
			||||
@@ -1078,7 +1078,7 @@ static int parse_options(char *options, struct super_block *sb,
 | 
				
			||||
 		case Opt_orlov:
 | 
				
			||||
 			clear_opt(sbi->s_mount_opt, OLDALLOC);
 | 
				
			||||
 			break;
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 		case Opt_user_xattr:
 | 
				
			||||
 			set_opt(sbi->s_mount_opt, XATTR_USER);
 | 
				
			||||
 			break;
 | 
				
			||||
@@ -1092,7 +1092,7 @@ static int parse_options(char *options, struct super_block *sb,
 | 
				
			||||
 			       "not supported\n");
 | 
				
			||||
 			break;
 | 
				
			||||
 #endif
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 		case Opt_acl:
 | 
				
			||||
 			set_opt(sbi->s_mount_opt, POSIX_ACL);
 | 
				
			||||
 			break;
 | 
				
			||||
@@ -1987,11 +1987,11 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
 | 
				
			||||
 		set_opt(sbi->s_mount_opt, GRPID);
 | 
				
			||||
 	if (def_mount_opts & EXT4_DEFM_UID16)
 | 
				
			||||
 		set_opt(sbi->s_mount_opt, NO_UID32);
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	if (def_mount_opts & EXT4_DEFM_XATTR_USER)
 | 
				
			||||
 		set_opt(sbi->s_mount_opt, XATTR_USER);
 | 
				
			||||
 #endif
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	if (def_mount_opts & EXT4_DEFM_ACL)
 | 
				
			||||
 		set_opt(sbi->s_mount_opt, POSIX_ACL);
 | 
				
			||||
 #endif
 | 
				
			||||
@@ -2050,16 +2050,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
 | 
				
			||||
 		       "running e2fsck is recommended\n");
 | 
				
			||||
 
 | 
				
			||||
 	/*
 | 
				
			||||
-	 * Since ext4 is still considered development code, we require
 | 
				
			||||
-	 * that the TEST_FILESYS flag in s->flags be set.
 | 
				
			||||
-	 */
 | 
				
			||||
-	if (!(le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS)) {
 | 
				
			||||
-		printk(KERN_WARNING "EXT4-fs: %s: not marked "
 | 
				
			||||
-		       "OK to use with test code.\n", sb->s_id);
 | 
				
			||||
-		goto failed_mount;
 | 
				
			||||
-	}
 | 
				
			||||
-
 | 
				
			||||
-	/*
 | 
				
			||||
 	 * Check feature flags regardless of the revision level, since we
 | 
				
			||||
 	 * previously didn't change the revision level when setting the flags,
 | 
				
			||||
 	 * so there is a chance incompat flags are set on a rev 0 filesystem.
 | 
				
			||||
@@ -3580,13 +3570,34 @@ const struct file_operations ext4_ui_proc_fops = {
 | 
				
			||||
 };
 | 
				
			||||
 #endif
 | 
				
			||||
 
 | 
				
			||||
+static struct file_system_type ext4_fs_type = {
 | 
				
			||||
+	.owner		= THIS_MODULE,
 | 
				
			||||
+	.name		= "ext4",
 | 
				
			||||
+	.get_sb		= ext4_get_sb,
 | 
				
			||||
+	.kill_sb	= kill_block_super,
 | 
				
			||||
+	.fs_flags	= FS_REQUIRES_DEV,
 | 
				
			||||
+};
 | 
				
			||||
+
 | 
				
			||||
+#ifdef CONFIG_EXT4DEV_COMPAT
 | 
				
			||||
+static int ext4dev_get_sb(struct file_system_type *fs_type,
 | 
				
			||||
+	int flags, const char *dev_name, void *data, struct vfsmount *mnt)
 | 
				
			||||
+{
 | 
				
			||||
+	printk(KERN_WARNING "EXT4-fs: Update your userspace programs "
 | 
				
			||||
+	       "to mount using ext4\n");
 | 
				
			||||
+	printk(KERN_WARNING "EXT4-fs: ext4dev backwards compatibility "
 | 
				
			||||
+	       "will go away by 2.6.31\n");
 | 
				
			||||
+	return get_sb_bdev(fs_type, flags, dev_name, data, ext4_fill_super, mnt);
 | 
				
			||||
+}
 | 
				
			||||
+
 | 
				
			||||
 static struct file_system_type ext4dev_fs_type = {
 | 
				
			||||
 	.owner		= THIS_MODULE,
 | 
				
			||||
 	.name		= "ext4dev",
 | 
				
			||||
-	.get_sb		= ext4_get_sb,
 | 
				
			||||
+	.get_sb		= ext4dev_get_sb,
 | 
				
			||||
 	.kill_sb	= kill_block_super,
 | 
				
			||||
 	.fs_flags	= FS_REQUIRES_DEV,
 | 
				
			||||
 };
 | 
				
			||||
+MODULE_ALIAS("ext4dev");
 | 
				
			||||
+#endif
 | 
				
			||||
 
 | 
				
			||||
 static int __init init_ext4_fs(void)
 | 
				
			||||
 {
 | 
				
			||||
@@ -3603,9 +3614,16 @@ static int __init init_ext4_fs(void)
 | 
				
			||||
 	err = init_inodecache();
 | 
				
			||||
 	if (err)
 | 
				
			||||
 		goto out1;
 | 
				
			||||
-	err = register_filesystem(&ext4dev_fs_type);
 | 
				
			||||
+	err = register_filesystem(&ext4_fs_type);
 | 
				
			||||
 	if (err)
 | 
				
			||||
 		goto out;
 | 
				
			||||
+#ifdef CONFIG_EXT4DEV_COMPAT
 | 
				
			||||
+	err = register_filesystem(&ext4dev_fs_type);
 | 
				
			||||
+	if (err) {
 | 
				
			||||
+		unregister_filesystem(&ext4_fs_type);
 | 
				
			||||
+		goto out;
 | 
				
			||||
+	}
 | 
				
			||||
+#endif
 | 
				
			||||
 	return 0;
 | 
				
			||||
 out:
 | 
				
			||||
 	destroy_inodecache();
 | 
				
			||||
@@ -3618,7 +3636,10 @@ out2:
 | 
				
			||||
 
 | 
				
			||||
 static void __exit exit_ext4_fs(void)
 | 
				
			||||
 {
 | 
				
			||||
+	unregister_filesystem(&ext4_fs_type);
 | 
				
			||||
+#ifdef CONFIG_EXT4DEV_COMPAT
 | 
				
			||||
 	unregister_filesystem(&ext4dev_fs_type);
 | 
				
			||||
+#endif
 | 
				
			||||
 	destroy_inodecache();
 | 
				
			||||
 	exit_ext4_xattr();
 | 
				
			||||
 	exit_ext4_mballoc();
 | 
				
			||||
diff --git a/fs/ext4/symlink.c b/fs/ext4/symlink.c
 | 
				
			||||
index 0013d52..00740cb 100644
 | 
				
			||||
--- a/fs/ext4/symlink.c
 | 
				
			||||
+++ b/fs/ext4/symlink.c
 | 
				
			||||
@@ -34,7 +34,7 @@ const struct inode_operations ext4_symlink_inode_operations = {
 | 
				
			||||
 	.readlink	= generic_readlink,
 | 
				
			||||
 	.follow_link	= page_follow_link_light,
 | 
				
			||||
 	.put_link	= page_put_link,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	.setxattr	= generic_setxattr,
 | 
				
			||||
 	.getxattr	= generic_getxattr,
 | 
				
			||||
 	.listxattr	= ext4_listxattr,
 | 
				
			||||
@@ -45,7 +45,7 @@ const struct inode_operations ext4_symlink_inode_operations = {
 | 
				
			||||
 const struct inode_operations ext4_fast_symlink_inode_operations = {
 | 
				
			||||
 	.readlink	= generic_readlink,
 | 
				
			||||
 	.follow_link	= ext4_follow_link,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 	.setxattr	= generic_setxattr,
 | 
				
			||||
 	.getxattr	= generic_getxattr,
 | 
				
			||||
 	.listxattr	= ext4_listxattr,
 | 
				
			||||
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
 | 
				
			||||
index 362b0ed..80626d5 100644
 | 
				
			||||
--- a/fs/ext4/xattr.c
 | 
				
			||||
+++ b/fs/ext4/xattr.c
 | 
				
			||||
@@ -99,12 +99,12 @@ static struct mb_cache *ext4_xattr_cache;
 | 
				
			||||
 
 | 
				
			||||
 static struct xattr_handler *ext4_xattr_handler_map[] = {
 | 
				
			||||
 	[EXT4_XATTR_INDEX_USER]		     = &ext4_xattr_user_handler,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	[EXT4_XATTR_INDEX_POSIX_ACL_ACCESS]  = &ext4_xattr_acl_access_handler,
 | 
				
			||||
 	[EXT4_XATTR_INDEX_POSIX_ACL_DEFAULT] = &ext4_xattr_acl_default_handler,
 | 
				
			||||
 #endif
 | 
				
			||||
 	[EXT4_XATTR_INDEX_TRUSTED]	     = &ext4_xattr_trusted_handler,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_SECURITY
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_SECURITY
 | 
				
			||||
 	[EXT4_XATTR_INDEX_SECURITY]	     = &ext4_xattr_security_handler,
 | 
				
			||||
 #endif
 | 
				
			||||
 };
 | 
				
			||||
@@ -112,11 +112,11 @@ static struct xattr_handler *ext4_xattr_handler_map[] = {
 | 
				
			||||
 struct xattr_handler *ext4_xattr_handlers[] = {
 | 
				
			||||
 	&ext4_xattr_user_handler,
 | 
				
			||||
 	&ext4_xattr_trusted_handler,
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_POSIX_ACL
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_POSIX_ACL
 | 
				
			||||
 	&ext4_xattr_acl_access_handler,
 | 
				
			||||
 	&ext4_xattr_acl_default_handler,
 | 
				
			||||
 #endif
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_SECURITY
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_SECURITY
 | 
				
			||||
 	&ext4_xattr_security_handler,
 | 
				
			||||
 #endif
 | 
				
			||||
 	NULL
 | 
				
			||||
diff --git a/fs/ext4/xattr.h b/fs/ext4/xattr.h
 | 
				
			||||
index 814ea58..8ede88b 100644
 | 
				
			||||
--- a/fs/ext4/xattr.h
 | 
				
			||||
+++ b/fs/ext4/xattr.h
 | 
				
			||||
@@ -63,7 +63,7 @@ struct ext4_xattr_entry {
 | 
				
			||||
 		EXT4_I(inode)->i_extra_isize))
 | 
				
			||||
 #define IFIRST(hdr) ((struct ext4_xattr_entry *)((hdr)+1))
 | 
				
			||||
 
 | 
				
			||||
-# ifdef CONFIG_EXT4DEV_FS_XATTR
 | 
				
			||||
+# ifdef CONFIG_EXT4_FS_XATTR
 | 
				
			||||
 
 | 
				
			||||
 extern struct xattr_handler ext4_xattr_user_handler;
 | 
				
			||||
 extern struct xattr_handler ext4_xattr_trusted_handler;
 | 
				
			||||
@@ -88,7 +88,7 @@ extern void exit_ext4_xattr(void);
 | 
				
			||||
 
 | 
				
			||||
 extern struct xattr_handler *ext4_xattr_handlers[];
 | 
				
			||||
 
 | 
				
			||||
-# else  /* CONFIG_EXT4DEV_FS_XATTR */
 | 
				
			||||
+# else  /* CONFIG_EXT4_FS_XATTR */
 | 
				
			||||
 
 | 
				
			||||
 static inline int
 | 
				
			||||
 ext4_xattr_get(struct inode *inode, int name_index, const char *name,
 | 
				
			||||
@@ -141,9 +141,9 @@ ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize,
 | 
				
			||||
 
 | 
				
			||||
 #define ext4_xattr_handlers	NULL
 | 
				
			||||
 
 | 
				
			||||
-# endif  /* CONFIG_EXT4DEV_FS_XATTR */
 | 
				
			||||
+# endif  /* CONFIG_EXT4_FS_XATTR */
 | 
				
			||||
 
 | 
				
			||||
-#ifdef CONFIG_EXT4DEV_FS_SECURITY
 | 
				
			||||
+#ifdef CONFIG_EXT4_FS_SECURITY
 | 
				
			||||
 extern int ext4_init_security(handle_t *handle, struct inode *inode,
 | 
				
			||||
 				struct inode *dir);
 | 
				
			||||
 #else
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue