[LWN Logo]

Date:   Thu, 14 Oct 1999 20:28:27 +0100
From: "Stephen C. Tweedie" <sct@redhat.com>
To: linux-fsdevel@vger.rutgers.edu
Subject: Announce: limited user mode tools for ext3-0.0.2

Hi,

To follow up on the kernel announce of the ext3-0.0.2 snapshot, there
are a couple of tools available for helping with migrating to/from ext3.
In particular, the current e2fsprogs work-in-progress snapshot at:

    http://web.mit.edu/tytso/www/linux/dist/e2fsprogs-1.16-WIP.tar.gz

has support in debugfs for clearing out the ext3 journal flags to allow
you to perform an fsck.  To fsck an ext3 filesystem, you _must_ have a
filesystem which has been unmounted cleanly (or remounted read-only), as
currently only the kernel understands how to recover the journal on an
uncleanly-dismounted filesystem.  You can then use debugfs from the new
e2fsprogs to clear the "HAS_JOURNAL" flag on the filesystem:

    [root@sarek /root]# debugfs
    debugfs 1.16-WIP, 15-Sep-1999 for EXT2 FS 0.5b, 95/08/09
    debugfs:  open -f -w /dev/sda2
    debugfs:  features
    Filesystem features: has_journal sparse_super
    debugfs:  features -has_journal
    Filesystem features: sparse_super
    debugfs:  quit
    [root@sarek /root]# 
   
You now have a normal ext2 filesystem, and you can e2fsck it as usual.
To remount it as ext3, simply use the same call you used to set up the
filesystem in the first place, ie. "mount /dev/sda2 /mnt/test -o
journal=xxx". 

To allow a journal to be added to a root filesystem, a new init flag has
been added to the kernel in the ext3-0.0.2 release: you can specify
"rootflags=xxx" and the xxx will be passed to "mount" when the root
filesystem is mounted.  If you want to set up an ext3 root filesystem
with a journal on inode 1234, you can pass kernel command line
parameters "rw rootflags=journal=1234" to cause the kernel to mount root
read-write as ext3 and create the specified journal.

More and better documentation is on the wish-list for ext3-0.0.3. 

--Stephen