Proposed changes for making clean ext3fs integration possible

Bas Mevissen (
Tue, 7 Jul 1998 22:18:54 +0200

Dear Remy,

Currently I'm writing a new filesystem for Linux. It is named ext3.
The most important changes will be support for very long files and a few
speed hacks (for long files and directories).

I use your ext2 code for it. The first versions of ext3 will be close to
ext2. So I copied the fs/ext2 code to fs/ext3 and changed the names. I use
kernel 2.1.108/SMP for this work. It looks quite good on my dual PPro box.

During the process I found some things in the ext2 implementation that IMHO
need change. Here they are:

>From include/linux/ext2_fs.h:

#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
#define set_opt(o, opt) o |= EXT2_MOUNT_##opt
#define test_opt(sb, opt) ((sb)->u.ext2_sb.s_mount_opt & \

ext2_fs.h in included in fs.h; so I get warnings about redefinitions because
these macros are in ext3_fs.h too.

The mentioned code is clearly ext2-specific. So I would suggest renaming
macros to ext2_{clear,set,test}_opt . In my code they have the prefix ext3_

>From asm-*/bitops.h:

#define ext2_set_bit test_and_set_bit
#define ext2_clear_bit test_and_clear_bit
#define ext2_test_bit test_bit
#define ext2_find_first_zero_bit find_first_zero_bit
#define ext2_find_next_zero_bit find_next_zero_bit

(this is from asm-i386; in the asm-m86k they look different)

This code is IMHO _NOT_ ext2-specific. I would suggest renaming these macros
to extfs_*_bit .

I already coded these proposed changes to my source tree.
Within a few days, I hope to have my first ext3 version(*) ready (including
mke3fs package!).
Then I'll send you a patch for the proposed ext2 and ext3 changes, so you
can review them.

That's it for now. Please respond to this, as it is a lot of work to change
these things afterwards.

(*) That version will not be too different from ext3



To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to