From owner-freebsd-fs Thu Mar 14 9:32:32 2002 Delivered-To: freebsd-fs@freebsd.org Received: from ns.caldera.de (ns.caldera.de [212.34.180.1]) by hub.freebsd.org (Postfix) with ESMTP id 7D2A437B404 for ; Thu, 14 Mar 2002 09:32:29 -0800 (PST) Received: (from hch@localhost) by ns.caldera.de (8.11.6/8.11.6) id g2EHWJg29073; Thu, 14 Mar 2002 18:32:19 +0100 Date: Thu, 14 Mar 2002 18:32:19 +0100 From: Christoph Hellwig To: Terry Lambert Cc: AQUAMAN , freebsd-fs@FreeBSD.ORG Subject: Re: filesystems compatibility Message-ID: <20020314183219.A28415@caldera.de> References: <20020312185747.98993.qmail@web13305.mail.yahoo.com> <3C8E72A3.6E9CBC6F@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3C8E72A3.6E9CBC6F@mindspring.com>; from tlambert2@mindspring.com on Tue, Mar 12, 2002 at 01:26:59PM -0800 Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Tue, Mar 12, 2002 at 01:26:59PM -0800, Terry Lambert wrote: > It's really hard to answer these kinds of questions exhaustively, > since Linux has the bad habit of changing things about the on > disk layout of FS data, and not changing the name of the FS; > there are at least six incompatible hacks on EXT2FS since the > first EXT2FS, and knowing which one you have is an exercise in > detective work. > > [snip] Terry, could you _please_ check the facts before you are going to tell the world fs myth over and over? Unlike FFS/UFS which has at least a dozen incompatible derivates ext2 was designed with extensibility in mind. If you would care to actually look at the ext2 superblock definition you would notice two things: 1) a revision level (s_rev_level) 2) 3 feature flags (s_feature_compat, s_feature_incompat, s_feature_ro_compat) The first is used for global filesystem revisioning and so far has only two allowed values, EXT2_GOOD_OLD_REV for very very old filesystems from Linux 0.x days and EXT2_DYNAMIC_REV which is used for any current filesystem. The feature flags (which did not exist in EXT2_GOOD_OLD_REV) allow fine-graded and backwards compatible extension to the filesystem layout without messing up other implementation like it has happened with UFS. The first set of flags, called compatible are extensions that can be ignored by implementation that do not know about them, they have a meaning only for fsck, examples are directory preallocation or the presence of a journal inode for the Linux 'ext3' driver. The second set, called 'ro_compat' is for layout changes that can be mounted r/o by old drivers, an example are the sparse superblocks introduced in Linux 2.2's ext2 driver. The third set is for layout changes that need support from the driver for both reading and writing, examples is the 4.4BSD-style dirent layout ext2 can use optionally or and filesystem with an unrecovered log written by the Linux ext3 driver. > I think the only one in common for all three Linux distributions, > that doesn't have local hacks, with be EXT2FS. FreeBSD can read > and write EXT2FS, as long as you aren't using local hacks (last > time I checked this, a long time ago, I admit, FreeBSD did not > support the RedHat hack for sparse superblocks, and neither did > Debian). Sparse superblocks is a feature introduced in Linux 2.2 and thus supported by all Linux distributions having 2.2 or newer kernels (including Debian potatoe/woody!), which was also backported to 2.0 and included in 2.0.39. 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