Category Archives: Uncategorized

Inside the MSDOS / FAT Linux VFS Implementation

A (small) part of the Linux VFS module of the Designer Graphix Linux Internals training programme.

Referenced kernel ver: 2.6.30

Once extracted, see the



For ease of code browsing, do ‘make tags’ (or ‘ctags -R’) in the root folder of the kernel soure tree.

cd fs/fat

Note: Here the focus is on part of the MSDOS – Linux VFS kernel implementation, mainly the disk-related part, i.e., the superblock and inode objects. We don’t attempt to cover the Dcache/dentry, page cache (address operations) and just touch upon the process<–>filesystem relationship stuff (at least for now).

To gain some insight into the physical structure / arch of the MSDOS (and [v]fat) filesystem, see this page.
The <linux/msdos_fs.h> header mirrors much of this.

For example, the FAT16 boot record (boot sector) structure is nicely seen here; it’s Linux layout is here:
include/linux/msdos_fs.h:struct fat_boot_sector
(can browse it via the superb LXR tool here).

Superblock Setup

In namei_msdos.c:

static struct file_system_type msdos_fs_type = {
.owner          = THIS_MODULE,
.name           = "msdos",
.get_sb         = msdos_get_sb,
.kill_sb        = kill_block_super,
.fs_flags       = FS_REQUIRES_DEV,

static int __init init_msdos_fs(void)
return register_filesystem(&msdos_fs_type);

Continue reading Inside the MSDOS / FAT Linux VFS Implementation


Android’s already looking successful; but …

Android’s steaming ahead.

Yup. Pretty much a given..

Google says we’ll easily have around 18 Android ‘phones by year end.

Please read this excellent NY Times article first (opens in a new window), and then continue here, if it so pleases you…

Well, I don’t know about you but am a bit taken aback by (Google’s) Andy Rubin’s statement regarding the three options that handset OEMs and wireless carriers have.

In effect, the first options says (and I’d love someone to correct me if i’m reading it wrong here)- take it completely free but don’t touch (preload) our (Google) apps; the second “small strings” option says- sign a distribution agreement with us and all’s cool. Hmm, can we see this agreement? Third option “no-censorship” aka “The Google Experience” phones- so, looks like there is after all, a Google Phone 🙂 . Right? I mean, Google logo on the device and all.

Initially my impression was that Google is indeed trying to “distance” itself from the platform. “Hey, it’s open- we built it, now do what you like okay”. Now that, apparently, looks to be not-so-true.

Still, this is not necessarily “a bad thing”. Okay Google is (starting to) leveraging it’s considerable strength with Android. It’s still an open platform. Yes. But… one just wonders..

Well, we’ll wait and see…
hope to keep you posted!

Motorola and Android Newly Weds

Well, it was bound to happen, everyone knows that.

Now it’s “official”.

Motorola is newly wed to the Android platform.

They’ve put up a nice aggregate (tutorials, etc) site.

So far, I have not (personally) seen/used a really great Android phone (or device). In the hardware sense of course (the software platform simply rocks!). I mean, the camera on the G1 (I use the ADP1, completely equivalent) is terrible when I compare it with a Nokia N-series phone, for example…

I think this limitation will now be addressed: Samsung already has an Android smartphone out, now Motorola looks set to release one this year; interestingly, Motorola definitely seems to be looking to leverage the vast open-source community already around the Android platform via their developer site. Good going! -much much nicer than what they did at first with their (early) Motorola-Linux platform(s).

We wish them luck. The more the merrier. The better it gets- for Android, the OEMs, and of course, us.

Linux and Stale? Never!

The words Linux (and all that it implies), stale/boring never go together.

Take a look at LinuxDevice’s excellent report on the LF’s (Linux Foundation) Collabaration Summit held last week in SF, USA.

A quick sampling to whet your appetite:

  • Intel hands over the Moblin project to the LF
  • KVM’s being pushed as the way to go within Linux virtualization
  • The Kernel Summit / Panel discussion was energetic, techy and interesting-
    • 2.6.29 kernel released two weeks back by LF
    • Andrew Morton bags the first-ever “Unsung Hero” award!
    • Intel and ATI will work towards greatly modernizing the kernel graphics stack
    • Ted Ts’o talks about moving to Oracle’s Btrfs filesystem
  • LF announces the winning entries to the “We’re Linux” 1-minute video contest.

Read about all this (and more!)  here.

My open source contributions, listed on does a really neat job tracking open-source projects / efforts. It tracks by person, project, language.

Really cool!

My personal (& very small!) contributions to open source can be seen here:


(Note that my actual commits are to the project ‘Linux Kernel 2.6’ and the ‘OpenMoko VisualGPS’ project; their being used in other open source projects makes it show up elsewhere as well…).

Ohloh profile for Kaiwan N Billimoria