linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Landley <rob@landley.net>
To: Andreas Dilger <adilger@clusterfs.com>
Cc: Jeff Garzik <jgarzik@pobox.com>, Alex Tomas <bzzz@tmi.comex.ru>,
	linux-kernel@vger.kernel.org, ext2-devel@lists.sourceforge.net
Subject: Re: [RFC] file extents for EXT3
Date: Tue, 12 Aug 2003 17:09:40 -0400	[thread overview]
Message-ID: <200308121709.40263.rob@landley.net> (raw)
In-Reply-To: <20030812091453.D4446@schatzie.adilger.int>

On Tuesday 12 August 2003 11:14, Andreas Dilger wrote:
> On Aug 12, 2003  05:33 -0400, Rob Landley wrote:
> > With the ability to place a journal on another block device, you could
> > theoretically throw the journal on a 1 megabyte ramdisk, and more or less
> > degrade ext3 to ext2 that way (as long as you made sure to fsck the heck
> > out of it on the way back up each time).
>
> That would be a net loss over ext2, because at least when you crash an
> ext2 system the filesystem will not be marked clean and e2fsck will auto
> check it.

Hence fscking the heck out of it on the way back up.  (Or more accurately, 
only ever using it on a read-only filesystem...)

> There is no reason to use ext3 in such a situation except
> making the system slower, less resiliant to a crash, and use more RAM.
> You would be far better off to just use ext2 in this case.

Assuming you wanted to compile two filesystem drivers into the system with 
basically the same on-disk layout, for use with an initial ramdisk or cd-rom 
boot image...

> > Beyond that, why is the minimum journal size 1 megabyte?  (Having to
> > waste a megabyte of ram on a 4 megabyte filesystem is kind of annoying.
>
> Not only would the journal itself require a 1MB ramdisk, but it could use
> up to another 1MB for dirty journal buffers.  Really, I can not stress it
> enough that this is a terrible setup.

I know it's bad, I'm saying it's possible. :)

It's a gross kludge to get around the lack of a no-journal option by providing 
it with a faux journal, patting it on the head, and sending it about its 
merry way... :)

> > Beyond THAT, ext2 could be considered ext3 with a "no journal" flag
> > (automatically supplied when the mount is read only, for example).  Last
> > time I did an embedded device, I had to stick both ext3 in (for the
> > runtime data partition) and ext2 in (for the initrd that loopback mounted
> > the firmware image, which was a zisofs containing the root partition). 
> > Initramfs addresses this particular annoyance, but still leaves a problem
> > creating a bootable CD that's going to install to ext3...
>
> If you are interested in that, the ext3 code is _nearly_ ready to support
> mounting without a journal, but it never quite was ready.  Basically, you
> skip the journal setup at mount time, and then in all of the journal helper
> functions like ext3_journal_start() you make it a no-op if s_journal is
> NULL. You would need to clear the "clean" flag again at mount.
>
> You would still need to make some more helper functions to avoid
> dereferencing handle and journal pointers in the ext3 code.

I'd need to come way the heck up to speed on the ext3 code.  This evening I'm 
poring over Con's changes to the scheduler.  (I prefer exploring areas that 
are a little less likely to eat my disk when banging away on my laptop.  When 
I get my scratch machines out of storage, then I'll worry about messing up 
the disk. :)

> > Having to compile two filesystems into the kernel with basically the same
> > on-disk layout is kind of annoying, but ext3 simply isn't a good fit for
> > a small ramdisk or for read-only media.
>
> Use something that is - like JFFS2 or similar?

Jffs2 isn't that great a fit for a many-gigabyte hard drive partition for a 
network attached storage device, either...

I had a system where ext2 needed to be compiled in to bring the system up, but 
wasn't used while it was running (ext3 was), and I didn't want to go to a 
modular kernel just for that.  I speced out a way to hack my way around it in 
a gross and disgusting fashion.  The point was that I was looking for a 
no-journal option for ext3 in a real world situation a few months ago, and 
wouldn't have minded a performance hit to get it...

These days, initramfs may make this particular case go away.  Last I heard, 
ext3 still was a bad fit for read-only filesystem images, though...

Rob

  reply	other threads:[~2003-08-12 21:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-11  7:41 [RFC] file extents for EXT3 Alex Tomas
2003-08-11 12:53 ` Jeff Garzik
2003-08-11 15:55   ` Andreas Dilger
2003-08-11 16:23     ` Jeff Garzik
2003-08-12  9:33       ` Rob Landley
2003-08-12 15:14         ` Andreas Dilger
2003-08-12 21:09           ` Rob Landley [this message]
2003-08-13  4:32       ` [Ext2-devel] " Theodore Ts'o
2003-08-14 16:41         ` James Antill
2003-08-11 16:43   ` Randy.Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200308121709.40263.rob@landley.net \
    --to=rob@landley.net \
    --cc=adilger@clusterfs.com \
    --cc=bzzz@tmi.comex.ru \
    --cc=ext2-devel@lists.sourceforge.net \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).