kernel, filsystem, rants :: what I've been doing recently

Posted on
btrfs ext2 ext3 ext4 filesystem kernel linux reiser4 reiserfs

So… I’m getting excited about current linux kernel issues, afaik the latest stable kernel released is 2.6.29. even though a lot of distro has just only begun using 2.6.28. and the most interesting is its newest filesystem support.

Umm I think it will be a little bit technical so if you don’t understand you can’t stop reading right here…

No, I’m not a kernel developer nor on building new linux kernel for these couple days. Instead, I’m doing a bit research on linux filesystem, since at the moment there’s a lot of distro fighting each other to release their system with the kernel latest feature. Canonical planning to embed ext4 as an optional filesystem for their ‘Jaunty Jackalope’ Ubuntu 9.04. And said to make it as default filesystem depend on user feedback.

Redhat Inc. make a step ahead, their already use ext4 as their default installation filesytem on fedora 11.beta.

And Novell guys said openSuSE would make a wise decision to fix their release schedule for every 8 months or something, and he doesn’t even forget to mentioning ext4…

okay, so why I’m focus on talking about filesystem, well for the time being I think linux filesystem issues is the most controversial thing at the kernel architecture, there’s not a few peoples trying to submit theirs filesystem design to included in linux kernel main branch for their own good. Umm, Let see… I’m gonna back to couple years a go… just when reiser4 is rejected officially by Linus Torvalds Hans always said that reiser4 is rejected for its political issue… But no… just like what Linus said. Namesys peoples, sorry, I mean Hans Reiser, never tried to work with VFS peoples, let say… Al Viro for example…

Hans just boasting around talking about “plugin” without even care that linux has VFS as an API between filesystem - kernel. Well if you try searching on google or wikipedia about this matter. you’ll find that VFS tied down a lot of reiserfs feature so it’s obvious for Namesys peoples to bypass VFS and just hit the sack.

Okay we already know what happen to Hans Reiser right now. And reiser4 with Edward Sashkin as the current maintainer just left behind.

Now let’s talk about ext variants… Ext is really traditional filesystem… ext fs start developed to replace minix native filesystem, and linux start to build unified API, which is VFS, to manage filesystem architecture. and time goes by… ext can’t handling data growth in linux environments, so Card Remy, Theodore T’so, and Stephen Tweedie planning on new design on ext filesystem and so ext2 born… after so much glorious times… people realized that ext2 still lacked on its reliability, and decide to follow the current trend on that time… they adding journaling feature to ext2, and ext3 has born… no I don’t want to comment about ext3, I’ll just copy pasta what Linus said here:

Just as an example: ext3 sucks in many ways. It has huge inodes that take up way too much space in memory. It has absolutely disgusting code to handle directory reading and writing (buffer heads! In 2006!). It’s conditional indexing code is horrible. Its performance absolutely sucks when the journal is being drained or something.

Oh by the way, the one who working on ext3 is Stephen Tweedie :>

So it comes to ext4, when people do really need more reliable file system for their super large data… Theodore T’so handling the proposal on mid 2005 if I’m not mistaken… :> To bring ext3 to next level with adding extents feature, delayed allocation, and copy on write support. in short… ext4 can handling big files more efficiently, and faster than before.. with backward compatibility toward ext3, this create a lot of advantages and disadvantages… I’m a little dissapointed when Ted just blaming application programmers about how they should doing synchronization on disk I/O or something… And when he said how desktop apps should be could placing their configuration set on one unified “registry like” system… when I read this for the first time, I just like… What? that’s a little bit too much… Ted… each of us have our own task to do… can’t we rely on your filesystem? isn’t it your system’s job to make sure our data is save? instead of make sure we doing our job right by placing fsync() or fdatasync() everytime we write down our files… even Linus himself said this…

recent hopefully good news is about btrfs (people spell it like butterfs or betterfs, btr stands for B-tree anyway). developed by Chris Mason, he is working for Oracle. the design itself introduced in early 2007, but again like ext4, the distro guys has just take a hand on it this recent… I’m hoping a lot from this filesystem since peoples said that this filesystem might gonna be the next generation of linux file system. And it doesn’t have any relation with ext filesystem, but better a lot of people saying that btrfs is UNIX answer for Sun Solaris zfs. And Ted said somewhere in the net that if you interested in reiserfs/reiser4 concept, you can looking for btrfs.

and so… that is… No, I’m not writing this to judge down those filesystems… instead, I’m so exciting to know this dynamic pace in open source’s black and white world…