[HEADSUP] Google SoC work on ext2fs to be committed

Pedro F. Giffuni giffunip at tutopia.com
Sat Jan 2 03:32:57 UTC 2010


Hello;

I've been following closely this port and have been sending
comments and patches to Aditya so I would like to comment on
some points:

- The code in it's current state is very similar to UFS1 without
softupdates and EA/ACLs.
- preallocation pretends to provide a similar effect as BSD's
reallocblk (which is partially ported but may be difficult to
finish). Preallocation has changed on different ext?fs versions
but there are a couple of documents on the net on how this is
done in linux. (1)
- For the linux guys the Orlov allocator is their interpretation
of what UFS knows to be the "dirpref changes". The code was
ripped from FFS1 with some adaptations for ext2fs. The linux
specific directory hacks don't apply.
- While the benchmarking results are very similar, they achieve
the results through different means: apparently making the code
MPSafe (which was also heavily borrowed from UFS) has somewhat
compensated for the removal of the preallocation code.

Things TODO

The fact that it so simple and similar to our beloved FFS1 and
that the linux guys have published documents about it makes this
filesystem an excellent target to play with. Some possibilities:

- Implement preallocation. (1)
- Htree is some similar to ufs dirhash. (2)
- Ext3 Journaling (3) or maybe just gjournal support. (3)
- Make it understand the basic ext4 layout.
- NetBSD has some basic mkfs_ext2fs and fsck_ext2fs.


I have to say Aditya did an excellent job, and was even careful
to keep everything as similar as possible to UFS and NetBSD's
ext2fs so we can adopt future enhancements they make.

References (sorry for broken links)

(1) http://ols.fedoraproject.org/OLS/Reprints-2008/kumar-reprint.pdf
(2) http://www.kernel.org/doc/ols/2002/ols2002-pages-425-438.pdf
(3) http://jamesthornton.com/hotlist/linux-filesystems/ext3-journal-design.pdf

regards,

Pedro.


      


More information about the freebsd-hackers mailing list