Skip to contentSkip to conversation

Register ext3dev filesystem

PATCH In review Mingming Cao 9 participants 13 messages Aug 10, 2006 – Nov 20, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/5 Register ext3dev filesystem

Register ext4 filesystem as ext3dev filesystem in kernel.

---

 linux-2.6.18-rc4-ming/fs/Kconfig                |   74 ++++++++++++++++++++++--
 linux-2.6.18-rc4-ming/fs/Makefile               |    1 
 linux-2.6.18-rc4-ming/fs/ext4/Makefile          |   10 +--
 linux-2.6.18-rc4-ming/fs/ext4/acl.h             |    6 -
 linux-2.6.18-rc4-ming/fs/ext4/file.c            |    2 
 linux-2.6.18-rc4-ming/fs/ext4/inode.c           |    2 
 linux-2.6.18-rc4-ming/fs/ext4/namei.c           |    6 -
 linux-2.6.18-rc4-ming/fs/ext4/super.c           |   20 +++---
 linux-2.6.18-rc4-ming/fs/ext4/symlink.c         |    4 -
 linux-2.6.18-rc4-ming/fs/ext4/xattr.c           |    8 +-
 linux-2.6.18-rc4-ming/fs/ext4/xattr.h           |    8 +-
 linux-2.6.18-rc4-ming/include/linux/ext4_fs_i.h |    4 -
 12 files changed, 106 insertions(+), 39 deletions(-)
fs/ext4/super.c renamed from fs/ext4/super.c~register-ext3dev +10 -10
diff -puN fs/ext4/super.c~register-ext3dev fs/ext4/super.c
@@ -447,7 +447,7 @@ static struct inode *ext4_alloc_inode(st
 	ei = kmem_cache_alloc(ext4_inode_cachep, SLAB_NOFS);
 	if (!ei)
 		return NULL;
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_FS_POSIX_ACL
 	ei->i_acl = EXT4_ACL_NOT_CACHED;
 	ei->i_default_acl = EXT4_ACL_NOT_CACHED;
 #endif
@@ -468,7 +468,7 @@ static void init_once(void * foo, kmem_c
 	if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) ==
 	    SLAB_CTOR_CONSTRUCTOR) {
 		INIT_LIST_HEAD(&ei->i_orphan);
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 		init_rwsem(&ei->xattr_sem);
 #endif
 		mutex_init(&ei->truncate_mutex);
@@ -497,7 +497,7 @@ static void destroy_inodecache(void)
 static void ext4_clear_inode(struct inode *inode)
 {
 	struct ext4_block_alloc_info *rsv = EXT4_I(inode)->i_block_alloc_info;
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_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);
@@ -790,7 +790,7 @@ static int parse_options (char *options,
 		case Opt_orlov:
 			clear_opt (sbi->s_mount_opt, OLDALLOC);
 			break;
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 		case Opt_user_xattr:
 			set_opt (sbi->s_mount_opt, XATTR_USER);
 			break;
@@ -803,7 +803,7 @@ static int parse_options (char *options,
 			printk("EXT4 (no)user_xattr options not supported\n");
 			break;
 #endif
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_FS_POSIX_ACL
 		case Opt_acl:
 			set_opt(sbi->s_mount_opt, POSIX_ACL);
 			break;
@@ -2669,9 +2669,9 @@ static int ext4_get_sb(struct file_syste
 	return get_sb_bdev(fs_type, flags, dev_name, data, ext4_fill_super, mnt);
 }
 
-static struct file_system_type ext4_fs_type = {
+static struct file_system_type ext3dev_fs_type = {
 	.owner		= THIS_MODULE,
-	.name		= "ext4",
+	.name		= "ext3dev",
 	.get_sb		= ext4_get_sb,
 	.kill_sb	= kill_block_super,
 	.fs_flags	= FS_REQUIRES_DEV,
@@ -2685,7 +2685,7 @@ static int __init init_ext4_fs(void)
 	err = init_inodecache();
 	if (err)
 		goto out1;
-        err = register_filesystem(&ext4_fs_type);
+        err = register_filesystem(&ext3dev_fs_type);
 	if (err)
 		goto out;
 	return 0;
@@ -2698,13 +2698,13 @@ out1:
 
 static void __exit exit_ext4_fs(void)
 {
-	unregister_filesystem(&ext4_fs_type);
+	unregister_filesystem(&ext3dev_fs_type);
 	destroy_inodecache();
 	exit_ext4_xattr();
 }
 
 MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");
-MODULE_DESCRIPTION("Second Extended Filesystem with journaling extensions");
+MODULE_DESCRIPTION("Fourth Extended Filesystem with extents");
 MODULE_LICENSE("GPL");
 module_init(init_ext4_fs)
 module_exit(exit_ext4_fs)
fs/Kconfig renamed from fs/Kconfig~register-ext3dev +70 -4

87 lines not on this page · raw message

fs/Makefile renamed from fs/Makefile~register-ext3dev +1 -0
diff -puN fs/Makefile~register-ext3dev fs/Makefile
@@ -54,6 +54,7 @@ obj-$(CONFIG_PROFILING)		+= dcookies.o
 # 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_EXT3DEV_FS)	+= ext4/ # Before ext2 so root fs can be ext3dev
 obj-$(CONFIG_JBD)		+= jbd/
 obj-$(CONFIG_EXT2_FS)		+= ext2/
 obj-$(CONFIG_CRAMFS)		+= cramfs/
include/linux/ext4_fs_i.h renamed from include/linux/ext4_fs_i.h~register-ext3dev +2 -2
diff -puN include/linux/ext4_fs_i.h~register-ext3dev include/linux/ext4_fs_i.h
@@ -93,7 +93,7 @@ struct ext4_inode_info {
 	struct ext4_block_alloc_info *i_block_alloc_info;
 
 	__u32	i_dir_start_lookup;
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 	/*
 	 * Extended attributes can be read independently of the main file
 	 * data. Taking i_mutex even when reading would cause contention
@@ -103,7 +103,7 @@ struct ext4_inode_info {
 	 */
 	struct rw_semaphore xattr_sem;
 #endif
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_FS_POSIX_ACL
 	struct posix_acl	*i_acl;
 	struct posix_acl	*i_default_acl;
 #endif
fs/ext4/acl.h renamed from fs/ext4/acl.h~register-ext3dev +3 -3
diff -puN fs/ext4/acl.h~register-ext3dev fs/ext4/acl.h
@@ -51,7 +51,7 @@ static inline int ext4_acl_count(size_t 
 	}
 }
 
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_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
 extern int ext4_acl_chmod (struct inode *);
 extern int ext4_init_acl (handle_t *, struct inode *, struct inode *);
 
-#else  /* CONFIG_EXT4_FS_POSIX_ACL */
+#else  /* CONFIG_EXT3DEV_FS_POSIX_ACL */
 #include <linux/sched.h>
 #define ext4_permission NULL
 
@@ -77,5 +77,5 @@ ext4_init_acl(handle_t *handle, struct i
 {
 	return 0;
 }
-#endif  /* CONFIG_EXT4_FS_POSIX_ACL */
+#endif  /* CONFIG_EXT3DEV_FS_POSIX_ACL */
 
fs/ext4/file.c renamed from fs/ext4/file.c~register-ext3dev +1 -1
diff -puN fs/ext4/file.c~register-ext3dev fs/ext4/file.c
@@ -126,7 +126,7 @@ const struct file_operations ext4_file_o
 struct inode_operations ext4_file_inode_operations = {
 	.truncate	= ext4_truncate,
 	.setattr	= ext4_setattr,
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
 	.listxattr	= ext4_listxattr,
fs/ext4/inode.c renamed from fs/ext4/inode.c~register-ext3dev +1 -1
diff -puN fs/ext4/inode.c~register-ext3dev fs/ext4/inode.c
@@ -2584,7 +2584,7 @@ void ext4_read_inode(struct inode * inod
 	struct buffer_head *bh;
 	int block;
 
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_FS_POSIX_ACL
 	ei->i_acl = EXT4_ACL_NOT_CACHED;
 	ei->i_default_acl = EXT4_ACL_NOT_CACHED;
 #endif
fs/ext4/namei.c renamed from fs/ext4/namei.c~register-ext3dev +3 -3
diff -puN fs/ext4/namei.c~register-ext3dev fs/ext4/namei.c
@@ -1689,7 +1689,7 @@ retry:
 	err = PTR_ERR(inode);
 	if (!IS_ERR(inode)) {
 		init_special_inode(inode, inode->i_mode, rdev);
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 		inode->i_op = &ext4_special_inode_operations;
 #endif
 		err = ext4_add_nondir(handle, dentry, inode);
@@ -2364,7 +2364,7 @@ struct inode_operations ext4_dir_inode_o
 	.mknod		= ext4_mknod,
 	.rename		= ext4_rename,
 	.setattr	= ext4_setattr,
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
 	.listxattr	= ext4_listxattr,
@@ -2375,7 +2375,7 @@ struct inode_operations ext4_dir_inode_o
 
 struct inode_operations ext4_special_inode_operations = {
 	.setattr	= ext4_setattr,
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
 	.listxattr	= ext4_listxattr,
fs/ext4/symlink.c renamed from fs/ext4/symlink.c~register-ext3dev +2 -2
diff -puN fs/ext4/symlink.c~register-ext3dev fs/ext4/symlink.c
@@ -34,7 +34,7 @@ struct inode_operations ext4_symlink_ino
 	.readlink	= generic_readlink,
 	.follow_link	= page_follow_link_light,
 	.put_link	= page_put_link,
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
 	.listxattr	= ext4_listxattr,
@@ -45,7 +45,7 @@ struct inode_operations ext4_symlink_ino
 struct inode_operations ext4_fast_symlink_inode_operations = {
 	.readlink	= generic_readlink,
 	.follow_link	= ext4_follow_link,
-#ifdef CONFIG_EXT4_FS_XATTR
+#ifdef CONFIG_EXT3DEV_FS_XATTR
 	.setxattr	= generic_setxattr,
 	.getxattr	= generic_getxattr,
 	.listxattr	= ext4_listxattr,
fs/ext4/xattr.c renamed from fs/ext4/xattr.c~register-ext3dev +4 -4
diff -puN fs/ext4/xattr.c~register-ext3dev fs/ext4/xattr.c
@@ -104,12 +104,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_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_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_EXT4_FS_SECURITY
+#ifdef CONFIG_EXT3DEV_FS_SECURITY
 	[EXT4_XATTR_INDEX_SECURITY]	     = &ext4_xattr_security_handler,
 #endif
 };
@@ -117,11 +117,11 @@ static struct xattr_handler *ext4_xattr_
 struct xattr_handler *ext4_xattr_handlers[] = {
 	&ext4_xattr_user_handler,
 	&ext4_xattr_trusted_handler,
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_FS_POSIX_ACL
 	&ext4_xattr_acl_access_handler,
 	&ext4_xattr_acl_default_handler,
 #endif
-#ifdef CONFIG_EXT4_FS_SECURITY
+#ifdef CONFIG_EXT3DEV_FS_SECURITY
 	&ext4_xattr_security_handler,
 #endif
 	NULL
fs/ext4/xattr.h renamed from fs/ext4/xattr.h~register-ext3dev +4 -4
diff -puN fs/ext4/xattr.h~register-ext3dev fs/ext4/xattr.h
@@ -56,7 +56,7 @@ struct ext4_xattr_entry {
 #define EXT4_XATTR_SIZE(size) \
 	(((size) + EXT4_XATTR_ROUND) & ~EXT4_XATTR_ROUND)
 
-# ifdef CONFIG_EXT4_FS_XATTR
+# ifdef CONFIG_EXT3DEV_FS_XATTR
 
 extern struct xattr_handler ext4_xattr_user_handler;
 extern struct xattr_handler ext4_xattr_trusted_handler;
@@ -79,7 +79,7 @@ extern void exit_ext4_xattr(void);
 
 extern struct xattr_handler *ext4_xattr_handlers[];
 
-# else  /* CONFIG_EXT4_FS_XATTR */
+# else  /* CONFIG_EXT3DEV_FS_XATTR */
 
 static inline int
 ext4_xattr_get(struct inode *inode, int name_index, const char *name,
@@ -131,9 +131,9 @@ exit_ext4_xattr(void)
 
 #define ext4_xattr_handlers	NULL
 
-# endif  /* CONFIG_EXT4_FS_XATTR */
+# endif  /* CONFIG_EXT3DEV_FS_XATTR */
 
-#ifdef CONFIG_EXT4_FS_SECURITY
+#ifdef CONFIG_EXT3DEV_FS_SECURITY
 extern int ext4_init_security(handle_t *handle, struct inode *inode,
 				struct inode *dir);
 #else
fs/ext4/Makefile renamed from fs/ext4/Makefile~register-ext3dev +5 -5
diff -puN fs/ext4/Makefile~register-ext3dev fs/ext4/Makefile
@@ -2,11 +2,11 @@
 # Makefile for the linux ext4-filesystem routines.
 #
 
-obj-$(CONFIG_EXT4_FS) += ext4.o
+obj-$(CONFIG_EXT3DEV_FS) += ext3dev.o
 
-ext4-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
+ext3dev-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
 
-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
+ext3dev-$(CONFIG_EXT3DEV_FS_XATTR)	+= xattr.o xattr_user.o xattr_trusted.o
+ext3dev-$(CONFIG_EXT3DEV_FS_POSIX_ACL)	+= acl.o
+ext3dev-$(CONFIG_EXT3DEV_FS_SECURITY)	+= xattr_security.o

_

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

#1 lore raw
Quoted 1 line · Mingming Cao

Register ext4 filesystem as ext3dev filesystem in kernel.

Why confuse users with the name "ext3dev"? If a filesystem lives in fs/blah/, it's registered as "blah" and can be mounted with "-t blah". Just register the filesystem as "ext4" and mark it "EXPERIMENTAL" in Kconfig.

Erik

Signature · 2 lines
+-- Erik Mouw -- www.harddisk-recovery.com -- +31 70 370 12 90 --
| Lab address: Delftechpark 26, 2628 XH, Delft, The Netherlands
#2 lore raw
Quoted 7 lines · On Thu, 10 Aug 2006 11:20:22 +0200 Erik Mouw wrote:
Quoted 1 line · Mingming Cao

Register ext4 filesystem as ext3dev filesystem in kernel.

Why confuse users with the name "ext3dev"? If a filesystem lives in fs/blah/, it's registered as "blah" and can be mounted with "-t blah". Just register the filesystem as "ext4" and mark it "EXPERIMENTAL" in Kconfig.

Yes, please.

---
~Randy

maintainer
#3 lore raw
In reply to Erik Mouw
Quoted 7 lines · Erik Mouw
Quoted 1 line · Mingming Cao

Register ext4 filesystem as ext3dev filesystem in kernel.

Why confuse users with the name "ext3dev"? If a filesystem lives in fs/blah/, it's registered as "blah" and can be mounted with "-t blah". Just register the filesystem as "ext4" and mark it "EXPERIMENTAL" in Kconfig.

We had this discussion on LKML. There were those who were concerned that it would not be enough just to mark it be EXPERIMENTAL.

- Ted

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

#4 lore raw
Quoted 10 lines · Theodore Tso
Quoted 6 lines · Erik Mouw
Quoted 1 line · Mingming Cao

Register ext4 filesystem as ext3dev filesystem in kernel.

Why confuse users with the name "ext3dev"? If a filesystem lives in fs/blah/, it's registered as "blah" and can be mounted with "-t blah". Just register the filesystem as "ext4" and mark it "EXPERIMENTAL" in Kconfig.

We had this discussion on LKML. There were those who were concerned that it would not be enough just to mark it be EXPERIMENTAL.

I _want_ to agree with Erik, but I must agree: CONFIG_EXPERIMENTAL is pretty worthless in practice :( It's not maintained rigorously, and distros _always_ enable it, because otherwise they would often omit key drivers that people actively use.

So, while my own personal preference would be to follow Erik's suggestion... thinking realistically, an fstype change from "ext3dev" to "ext4" is a far more obvious-to-users method of creating a devel/production line of demarcation.

Jeff

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

#5 lore raw
Quoted 17 lines · Jeff Garzik
Quoted 10 lines · Theodore Tso
Quoted 6 lines · Erik Mouw
Quoted 1 line · Mingming Cao

Register ext4 filesystem as ext3dev filesystem in kernel.

Why confuse users with the name "ext3dev"? If a filesystem lives in fs/blah/, it's registered as "blah" and can be mounted with "-t blah". Just register the filesystem as "ext4" and mark it "EXPERIMENTAL" in Kconfig.

We had this discussion on LKML. There were those who were concerned that it would not be enough just to mark it be EXPERIMENTAL.

I _want_ to agree with Erik, but I must agree: CONFIG_EXPERIMENTAL is pretty worthless in practice :( It's not maintained rigorously, and distros _always_ enable it, because otherwise they would often omit key drivers that people actively use.

Quoted 4 lines

So, while my own personal preference would be to follow Erik's suggestion... thinking realistically, an fstype change from "ext3dev" to "ext4" is a far more obvious-to-users method of creating a devel/production line of demarcation.

IF it's decided to register the file system as ext3dev (Would ext4dev make more sense?), I would prefer the config options and code continues to simply use ext4.

Signature · 9 lines
David Kleikamp
IBM Linux Technology Center


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
#6 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Dave" == Dave Kleikamp <[email protected]> writes:

Dave> IF it's decided to register the file system as ext3dev (Would Dave> ext4dev make more sense?)

Hear hear! I think ext4dev would be a better name too. It's the devel version of ext4, not ext3 after all...

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

#7 lore raw
In reply to Dave Kleikamp
Quoted 3 lines · Dave Kleikamp

IF it's decided to register the file system as ext3dev (Would ext4dev make more sense?), I would prefer the config options and code continues to simply use ext4.

Code, I strongly agree.

But config options are a dime a dozen. They change all the time, even for the same driver.

Jeff

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

#8 lore raw
Quoted 7 lines · Jeff Garzik
Quoted 3 lines · Dave Kleikamp

IF it's decided to register the file system as ext3dev (Would ext4dev make more sense?), I would prefer the config options and code continues to simply use ext4.

Code, I strongly agree.

Current code is all "ext4": functions names, variables, file names etc. (except when register itself it called "ext3dev")

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

#9 lore raw
In reply to Jeff Garzik
Quoted 17 lines · Jeff Garzik
Quoted 10 lines · Theodore Tso
Quoted 6 lines · Erik Mouw
Quoted 1 line · Mingming Cao

Register ext4 filesystem as ext3dev filesystem in kernel.

Why confuse users with the name "ext3dev"? If a filesystem lives in fs/blah/, it's registered as "blah" and can be mounted with "-t blah". Just register the filesystem as "ext4" and mark it "EXPERIMENTAL" in Kconfig.

We had this discussion on LKML. There were those who were concerned that it would not be enough just to mark it be EXPERIMENTAL.

I _want_ to agree with Erik, but I must agree: CONFIG_EXPERIMENTAL is pretty worthless in practice :( It's not maintained rigorously, and distros _always_ enable it, because otherwise they would often omit key drivers that people actively use.

Quoted 4 lines

So, while my own personal preference would be to follow Erik's suggestion... thinking realistically, an fstype change from "ext3dev" to "ext4" is a far more obvious-to-users method of creating a devel/production line of demarcation.

So what about "ext4dev"? That shows that the filesystem is not ext3 and experimental.

Erik

Signature · 8 lines
+-- Erik Mouw -- www.harddisk-recovery.com -- +31 70 370 12 90 --
| Lab address: Delftechpark 26, 2628 XH, Delft, The Netherlands

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
#10 lore raw
Quoted 2 lines · Erik Mouw

So what about "ext4dev"? That shows that the filesystem is not ext3 and experimental.

<shrug> Whatever people prefer most.

The important point is that CONFIG_EXPERIMENTAL isn't enough.

Jeff

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

#11 lore raw
In reply to Mingming Cao

Hi!

Quoted 25 lines

Register ext4 filesystem as ext3dev filesystem in kernel.

---

 linux-2.6.18-rc4-ming/fs/Kconfig                |   74 ++++++++++++++++++++++--
 linux-2.6.18-rc4-ming/fs/Makefile               |    1 
 linux-2.6.18-rc4-ming/fs/ext4/Makefile          |   10 +--
 linux-2.6.18-rc4-ming/fs/ext4/acl.h             |    6 -
 linux-2.6.18-rc4-ming/fs/ext4/file.c            |    2 
 linux-2.6.18-rc4-ming/fs/ext4/inode.c           |    2 
 linux-2.6.18-rc4-ming/fs/ext4/namei.c           |    6 -
 linux-2.6.18-rc4-ming/fs/ext4/super.c           |   20 +++---
 linux-2.6.18-rc4-ming/fs/ext4/symlink.c         |    4 -
 linux-2.6.18-rc4-ming/fs/ext4/xattr.c           |    8 +-
 linux-2.6.18-rc4-ming/fs/ext4/xattr.h           |    8 +-
 linux-2.6.18-rc4-ming/include/linux/ext4_fs_i.h |    4 -
 12 files changed, 106 insertions(+), 39 deletions(-)

diff -puN fs/ext4/super.c~register-ext3dev fs/ext4/super.c

fs/ext4/super.c static struct inode *ext4_alloc_inode(st · line 450

Quoted 5 lines
fs/ext4/super.c renamed from fs/ext4/super.c~register-ext3dev +1 -1
@@ -447,7 +447,7 @@ static struct inode *ext4_alloc_inode(st
 	ei = kmem_cache_alloc(ext4_inode_cachep, SLAB_NOFS);
 	if (!ei)
 		return NULL;
-#ifdef CONFIG_EXT4_FS_POSIX_ACL
+#ifdef CONFIG_EXT3DEV_FS_POSIX_ACL

Is it really neccessary to rename *all* the config options?

Signature · 1 line
Thanks for all the (sleeping) penguins.
#12 lore raw
In reply to Mingming Cao

Mingming Cao wrote (ao):

Quoted 1 line

Register ext4 filesystem as ext3dev filesystem in kernel.

[cut]

Quoted 14 lines

diff -puN fs/Kconfig~register-ext3dev fs/Kconfig

fs/Kconfig renamed from fs/Kconfig~register-ext3dev +7 -0
@@ -138,6 +138,72 @@ config EXT3_FS_SECURITY
 	  If you are not using a security module that requires using
 	  extended attributes for file security labels, say N.
 
+config EXT3DEV_FS
+	tristate "Developmenting extended fs support"
+	select JBD
+	help
+	  Ext3dev is a precede filesystem toward next generation
+	  of extended fs, based on ext3 filesystem code. It will be
+	  renamed ext4 fs later once this ext3dev is mature and stabled.

[cut]

fs/Kconfig config EXT3_FS_SECURITY · line 163

Quoted 2 lines
fs/Kconfig renamed from fs/Kconfig~register-ext3dev +2 -0
+	  To compile this file system support as a module, choose M here: the
+	  module will be called ext2.  Be aware however that the file system
                                ^^^^

This should be 'ext4'?

With kind regards, Sander

Signature · 2 lines
Humilis IT Services and Solutions
http://www.humilis.net