Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Mar 2002 11:00:59 +0100
From:      Christoph Hellwig <hch@caldera.de>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        AQUAMAN <yoatl@yahoo.com>, freebsd-fs@FreeBSD.ORG
Subject:   Re: filesystems compatibility
Message-ID:  <20020315110059.A32509@caldera.de>
In-Reply-To: <3C9114DA.5A2D0591@mindspring.com>; from tlambert2@mindspring.com on Thu, Mar 14, 2002 at 01:23:38PM -0800
References:  <20020312185747.98993.qmail@web13305.mail.yahoo.com> <3C8E72A3.6E9CBC6F@mindspring.com> <20020314183219.A28415@caldera.de> <3C9114DA.5A2D0591@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 14, 2002 at 01:23:38PM -0800, Terry Lambert wrote:
> Perhaps, since you are knowledgeable in the Linux EXT2FS area,
> you can answer the rest of the original question, now that I've
> narrowed the answer to "some version of EXT2FS"?
> 
> --
> 
> What is the highest revision level, and what are the maximum
> feature flags that one can use interoperably between versions
> of RedHat, FreeBSD, Debian, and Mandrake?

I don't have all those Linux Distributions handy, but as the feature
flags didn't change inbetween of Linux 2.2/2.4 release I'll just use
generic 2.2/2.4 Kernels.

Linux 2.4.18 [ext3 driver] (include/linux/ext3_fs.h):
#define EXT3_FEATURE_COMPAT_SUPP	0
#define EXT3_FEATURE_INCOMPAT_SUPP	(EXT3_FEATURE_INCOMPAT_FILETYPE| \
					 EXT3_FEATURE_INCOMPAT_RECOVER)
#define EXT3_FEATURE_RO_COMPAT_SUPP	(EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER| \
					 EXT3_FEATURE_RO_COMPAT_LARGE_FILE| \
					 EXT3_FEATURE_RO_COMPAT_BTREE_DIR)

Linux 2.4.18 (include/linux/ext2_fs.h):
#define EXT2_FEATURE_COMPAT_SUPP	0
#define EXT2_FEATURE_INCOMPAT_SUPP	EXT2_FEATURE_INCOMPAT_FILETYPE
#define EXT2_FEATURE_RO_COMPAT_SUPP	(EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
					 EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
					 EXT2_FEATURE_RO_COMPAT_BTREE_DIR)

Linux 2.2.18 (include/linux/ext2_fs.h):
#define EXT2_FEATURE_COMPAT_SUPP	0
#define EXT2_FEATURE_INCOMPAT_SUPP	EXT2_FEATURE_INCOMPAT_FILETYPE
#define EXT2_FEATURE_RO_COMPAT_SUPP	(EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
					 EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
					 EXT2_FEATURE_RO_COMPAT_BTREE_DIR)

FreeBSD-stable (sys/gnu/ext2fs/ext2_fs.h):
#define EXT2_FEATURE_COMPAT_SUPP	0
#define EXT2_FEATURE_INCOMPAT_SUPP	EXT2_FEATURE_INCOMPAT_FILETYPE
#ifdef notyet
#define EXT2_FEATURE_RO_COMPAT_SUPP	(EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
					 EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
					 EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
#else
#define EXT2_FEATURE_RO_COMPAT_SUPP	EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER
#endif

So all support revision 1 filesystems, no compat flag, the incompatible
4.4BSD-style dirent and sparse superblocks. Linux 2.2/2.4 support
large files and compatiblity for the never released (!) btree directory
support.  The Linux ext3 driver also supports filesystems that need a
log replay - for other drivers this will already be cleared by a fsck run.

> PS: Different versions of FFS have different magic numbers;
> the original number was Kirk's birthday.

Only very few FFS derivates have different major numbers, infact I only
know of SVR4.2MP SFS and various HP versions.  On the other hand
Solaris/Solaris-i386/4.4BSD/OpenStep seem to have the same one and are
_very_ incompatible.

> PPS: I'm more of an FFS maven than an EXT2FS maven; so I would
> be more likely to be able to tell you about FFS interoperability
> between systems.

Thanks, I have enough of it after implementing SVR4.2MP UFS and SFS
support for Linux..

	Christoph

-- 
Of course it doesn't work. We've performed a software upgrade.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020315110059.A32509>