[Tux3] Miniproject suggestions in kernel/namei.c

Daniel Phillips phillips at phunq.net
Thu Dec 4 13:49:17 PST 2008

The file namei.c has been added to tux3/user/kernel, which now holds all 
the the kernel-only code for namespace operations, like the traditional 
Ext2 arrangement.  Besides getting rid of an #ifdef __KERNEL__, this 
gives us a very nice list of to.do mini-projects for the kernel port:

const struct inode_operations tux_dir_iops = {
	.create		= tux3_create,
	.lookup		= tux_lookup,
//	.link		= ext3_link,
//	.unlink		= ext3_unlink,
//	.symlink	= ext3_symlink,
//	.mkdir		= ext3_mkdir,
//	.rmdir		= ext3_rmdir,
//	.mknod		= ext3_mknod,
//	.rename		= ext3_rename,
//	.setattr	= ext3_setattr,
//	.setxattr	= generic_setxattr,
//	.getxattr	= generic_getxattr,
//	.listxattr	= ext3_listxattr,
//	.removexattr	= generic_removexattr,
//	.permission	= ext3_permission,
	/* FIXME: why doesn't ext4 support this for directory? */
//	.fallocate	= ext4_fallocate,
//	.fiemap		= ext4_fiemap,

Hirofumi is working his way down the list, however anybody who wants to 
notch up a non-trivial kernel hack involving the kernel APIs we have 
been covering on Tux3 U, now is the time to jump in and try it before 
they are all gone, and carve your name in the Tux3 Hall of Fame:


Not to mention, putting "kernel filesystem hacking" on your resume.

These are not trivial, but not really hard either.  It is mainly a 
matter of pointing lxr at the sys_link/unlink/etc, following down to 
the inode_ops-><method> call, implementing it like Ext2 does, and 
trying it out under uml:

   "Developing Tux3 with UML"



Tux3 mailing list
Tux3 at tux3.org

More information about the Tux3 mailing list