Minix 文件系统的超级快操作表如下:
static const struct super_operations minix_sops = {
.alloc_inode = minix_alloc_inode,//分配inode
.destroy_inode = minix_destroy_inode,//销毁inode
.write_inode = minix_write_inode,
.delete_inode = minix_delete_inode,
.put_super = minix_put_super,
.statfs = minix_statfs,
.remount_fs = minix_remount,
};
下面详细介绍每一个函数:
static struct inode *minix_alloc_inode(struct super_block *sb)
{
struct minix_inode_info *ei;
//采用slab的方法分配一个minix_inode_info结构
ei = (struct minix_inode_info *)kmem_cache_alloc(minix_inode_cachep, GFP_KERNEL);
if (!ei)
return NULL;
//返回其中的inode域
return &ei->vfs_inode;
}
static void minix_put_super(struct super_block *sb)
{
int i;
struct minix_sb_info *sbi = minix_sb(sb);//sb->s_fs_info,这是minix超级块的私有数