Advanced Filesystem Implementors Guide Continues
Tom writes: "This is part six of the Advanced filesystem implementor's
guide. I've been following an outstanding series of articles about implementing the advanced filesystems that are available with Linux 2.4. The author really knows his stuff and has done a great job with explaining Reiserfs, XFS, GFS, and the other file systems that are available." The series gets into greater depth as it goes on; you may want to start with Part One and work on from there.
Its gotten to the point in Linux that there are too many file systems, how many jornalizing file systems are necessary. Actualy I think one is enough, there comes a time when its best for all to take the best features of the herd and start integrating them.
Apocalypse Cancelled, Sorry, No Ticket Refunds
I wonder when someone will finally remove the "DANGEROUS" tag from the NTFS write option and stabilize this thing...
Word up to that. NTFS is years ahead of ext2 :P
Then why does a FS from NT4 still work with Windows XP?
and when will it be possible to encrypt XFS, reiserfs, ext3... on-the-fly? I really need that if the CIA seizes my hard-disk.
It seems to me, the more I think about it, that file systems should be buried in the past, as the idea of mapping a hierarchy of string identifiers to serialized objects is not quite the way to do it.
Firstly, a much better user interface to objects would be a relational database the user can query anything on.
As for a system interface to objects, why force the objects to be serialized? Use orthogonal persistency. This method is more efficient, and easier for the applications. It actually makes persistency transparent, except for critical applications, that need to persist something now in which case, they can use a journalling interface.
In summary:
- Replace file system persistency with orthogonal persistency.
- Replace the hierarchic-string uesr interface with a relational database.
I am posting this from a notebook computer that has all partitions encrypted except for a boot partition at the front of the disk. The kernel boots an initial ramdisk with an /sbin/init script that does essentially the following, using cryptoapi, the successor to the linux "kerneli" patches.
modprobe cryptoapi /dev/discs/disc0/part6 /dev/loop/0 /dev/loop/0 /newroot /newroot ./bin/chroot . ./sbin/init $@
modprobe cryptoloop
modprobe cipher-aes
losetup -e AES
Password:
mount -t ext2
cd
exec
This should work with any disk file system, not just ext2.
I have been using this arrangement for several months now on a couple of computers, the slowest of which is a Kapok 1100M that uses a 233MHz Pentium II process and, I believe, PC-66 SDRAM. On that computer, the change in interactive responsiveness is hard to notice, but it is noticible for disk intensive activities. I have not timed it, but I think that big rsync runs are at least a factor of two slower.
I do not run swapping on these computers, as I've seen claims that there are more potential deadlocks when attempting to swap to an encrypted partition than when attempting to swap to an unencrypted partition.
I hope this information is helpful.
Linux coninues its struggle for a standard file system which is fast, easy to use, and reliable. Meanwhile, many Unix systems have been using UFS/FFS for years - and will continue to. Maybe Linux could take a lesson...
1. Nice flock of cows.
2. Hurd of cows.
1. Yes I have. Heard of sheep?
The kernel is CONSTANTLY changing. Programs are CONSTANTLY being updated. I see nothing wrong with upgrades! And this is EXACTLY what is not happening with the ext2 filesystem. Its been static since Linus moved from the minix filesystem. Only now are we seeing meager support for reiserfs, and only because hackers tried to make it better. Blah, Linux just seems like such crap.
Oh wait, it is!