Virtually the best blog on the web!
Posts tagged LogFS
Snapshots: The Final Piece in the Puzzle
Aug 23rd
I have checked in a basic framework for maintaining snapshots in LFS, and this pretty much completes the SoC project as proposed (Woohoo !!!). I have sent a mail explaining the snapshot design to the logfs-devel list.
I was initially skeptical about the amount of work I could accomplish in two months, but everything pretty much went according to the plan. I have also done some preliminary performance tests, which can be seen here. A mail explaining the results can be read here
Cheers !
Kernel Stack Fault
Aug 17th
Everyday, you learn a new way to crash your computer
I ran into the error shown in the left image, while meddling with kmalloc. Nice to see VMWare catch the stack fault, and show a helpful message. BTW, I have gone over 200 Oops, since I started hacking on logfs. Kernel hacking would be totally frustrating without the amazing VMWare.

LFS Stable Version and Mailing List
Aug 11th
I have updated the stable version in CVS, with the latest and greatest of LFS. This stable version is pretty much a complete log structured file system minus the cleaner. I have a cleaner in the main trunk of the CVS, and if you are feeling lucky and adventurous try it out. It also requires no patches to the kernel, and should compile cleanly on 2.6.11. Follow the instructions on the LFS website for compiling and running LFS.
I have also created a mailing list for LFS development, and if you are interested in following the development, please subscribe here
LFS Stable Tag and Official Web Site
Jul 24th
LFS is relatively stable now and one can do various normal file system operations like mkdir, link, touch etc. I also made a web page for the official logfs website on sourceforge. The code is available through CVS and here are the quick instructions on how to get it.
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/logfs login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/logfs co -r stable -P lfs
The code cleanly compiles on 2.6.7 and may not compile on other 2.6.X kernels. I am going to move the development to the latest kernel very soon. I wish they had kgdb patches for the latest kernel.
If you are interested in testing it, drop me a note.
Disclaimer: The file system is still experimental and may eat up your disk/memory and/or lock up your machine. I am not responsible for any damage you might incur. That said, it probably would only cause damage to the LFS partition.
Bootstrapping LFS
Jun 29th
The tax-related stuff for the SoC project has been quite tough for a lot of people. You can tell from the incessant posting of mails on Summer-Accepted list that people are really confused about this stuff. I still am not 100% sure what tax form I should send, but after closely reading the IRS forms, I have decided to send W-8BEN form (I am an F1 student studying in US). Hope to get it done tomorrow morning.
Ok, on to more interesting stuff. I finally started coding today. Wrote a basic mklfs. It creates an LFS with a root directory and the necessary IFILE entries. After running mklfs, this is how the disk looks:
___________________________________________ | | | | | | | Super | summary | ifile | ifile | root | | block | | dblock| inode | inode | |_______|_________|_______|_______|_______|
More details about the structure of the disk can be found in the README file. The kernel module can mount this file system and print a few info messages.
LFS 0.0.1 released
Jun 29th
I was contacted by my mentor and I made a release for him to look at. The release contains a working version of logfs, but it is not consummable by public. Currently, one can create files and see their attributes by doing ls. The files are not written to the disk, but all the data structures in memory are updated accordingly.
The release is available from sourceforge. DO NOT use logfs tools unless you know what you are doing.
Creating development environment for the LFS project
Jun 28th
CVS setup
I requested a project on the sourceforge and the cvs is already setup. I uploaded a README file and some fs hacking code I have. The project page is http://sourceforge.net/projects/logfs.
Uploaded my public key for password-less, hassle-free logins.
Kernel hacking
I have done kernel coding before and it’s always a pain, if you don’t have a separate testing machine. So, I have setup VmWare to create a virtual machine that suits my needs. I have done this many times before and I think the following setup is the most I like. If you have any suggestions, feel free to comment. This is how I have done it.
- I have a kick-ass FC4 box and wanted to have FC3 on the testing OS. Don’t want to experiment with
gcc 4.0yet. - Create separate partitions that will host the testing OS and one small partition for LFS. In theory, you can install Linux on vmware virtual disks, but I never liked the setup for file system hacking.
- Install FC3 normally and don’t install the boot loader
- Copy appropriate vmlinuz and initrds to the host OS boot partition and update the grub.conf
- Configure VmWare to setup bridged networking. This will allow the guest OS to directly acess the network adapter.
- Boot the virtual machine and start the testing kernel. This is the only painful part, because if you choose the wrong option, bad things will happen.
- Run
yum update. This will bring the system up-to-date and will install a2.6.11kernel. - Install VmWare tools to get better resolution in the guest OS
- Setup the kernel sources for the current kernel. See my earlier post for details on this.
- Start hacking !!!
A Log Structured File System with Snapshots – My Google SoC proposal (accepted !!!)
Jun 25th
I submitted a proposal on building a log structured file system to Google summer of code contest. This is one of my long standing ideas that’s going to be realized (thanks to Google). Read the proposal on my SoC web page.