The sources for the EXT2 file system are all in the /fs/ext2/ directory with data structure definitions in /include/linux/ext2_fs.h, ext2_fs_i.h and ext2_fs_sb.h. The Virtual File System data structures are described in /include/linux/fs.h and the code is in /fs/*. The buffer cache is implemented in /fs/buffer.c along with the update kernel daemon.