How to mount own file system in linux

Chinmaya Mishra
2006-07-19T08:43:32Z

Hi all,
I want to create new file system in linux 2.6.10 kernel just to
print the super block information.
Can you suggest me where I can get some good documents to proceed or any
dummy code if any.

I have tried this with the following code but it gives some warning
messages during compilation. The file system is registered but during
the mount command segmentation fault occurs.

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/version.h>
#include <linux/fs.h>
#include <linux/sched.h>

static struct super_block *rfs_read_super( struct super_block *sb, void
*buf, int size);
static struct file_system_type rfs = {"rfs", 0, rfs_read_super, NULL};
/*--------------------------------------------------------------------------------------------*/

static struct super_block *rfs_read_super( struct super_block *sb, void
*buf, int size) {
printk("rkfs: read_super returning a valid super_block\n" );
sb->s_blocksize = 1024;
sb->s_blocksize_bits = 10;
return sb;
}
/*--------------------------------------------------------------------------------------------*/

int init_module(void) {
int err;
err = register_filesystem(&rfs);
printk("rkfs: file system registered\n" );
return err;
}
/*--------------------------------------------------------------------------------------------*/

void cleanup_module(void) {
unregister_filesystem(&rfs);
printk("rkfs: file system unregistered\n" );
}
/*--------------------------------------------------------------------------------------------*/

MODULE_LICENSE("GPL");

regards,
chinmaya