Re: CRAMFS

Bjorn Wesen (bjorn@sparta.lu.se)
Fri, 23 Mar 2001 21:25:59 +0100 (MET)


On Fri, 23 Mar 2001, David Woodhouse wrote:
> > 1. RAMFS is just more stable in terms of less complexity, less bugs reported
> > over the time, etc.
> > 2. RAMFS is a fairly robust filesystem and all features required as far as I can
> > tell.

Ok, ramfs is really simple, but heck, cramfs is not much more complex :)
It's as simple a flash-filesystem as you can get.

I don't know why the comparision is made though, they are used for two
completely different things... ramfs is for temporary file storage, cramfs
is for immutable files stored on flash. Each by itself is quite optimal
for what it's designed for, isn't it ?

> I'm not aware of any bugs being found in cramfs recently - unless you
> wanted to use it on Alpha (or anything else where PAGE_SIZE != the
> hard-coded 4096 in mkcramfs.c).

I committed a patch that disappeared that added the choice of page size
(trivial yes :), we have PAGE_SIZE == 8192 on our systems. Works fine.

> I wouldn't avoid it for those reasons - although if you're _really_ short
> of flash space, the same argument applies as for JFFS2 - a single
> compression stream (tar.gz) will be smaller than compressing individual
> pages like JFFS2 and cramfs do.

Here are some results from a quite mixed filesystem:

[bjornw@godzilla linux]$ ls -l cram*
-rw-r--r-- 1 bjornw users 1179648 Mar 23 22:38 cram32768
-rw-r--r-- 1 bjornw users 1282048 Mar 23 22:38 cram4096
-rw-r--r-- 1 bjornw users 1220608 Mar 23 22:38 cram8192

(the numbers correspond to blocksize)

There's not any big difference here.

With bigger files though, the difference get larger. YMMV.

Notice that you can change cramfs so it uses a blocksize that is bigger
than PAGE_SIZE, of course, if it really is necessary. You'll get worse
performance at run-time though since you need to cache the page and hope
for read-ahead or similar (you can stuff the pages in the page-cache even
if they are not requested for example).

-BW

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/