Commit 6709a328 authored by Alexander Viro's avatar Alexander Viro Committed by Linus Torvalds

[PATCH] (4/6) more ->get_sb() stuff

driverfs converted.
parent f0e23d83
...@@ -449,8 +449,7 @@ static struct super_operations driverfs_ops = { ...@@ -449,8 +449,7 @@ static struct super_operations driverfs_ops = {
put_inode: force_delete, put_inode: force_delete,
}; };
static struct super_block* static int driverfs_fill_super(struct super_block *sb, void *data, int silent)
driverfs_read_super(struct super_block *sb, void *data, int silent)
{ {
struct inode *inode; struct inode *inode;
struct dentry *root; struct dentry *root;
...@@ -463,20 +462,31 @@ driverfs_read_super(struct super_block *sb, void *data, int silent) ...@@ -463,20 +462,31 @@ driverfs_read_super(struct super_block *sb, void *data, int silent)
if (!inode) { if (!inode) {
DBG("%s: could not get inode!\n",__FUNCTION__); DBG("%s: could not get inode!\n",__FUNCTION__);
return NULL; return -ENOMEM;
} }
root = d_alloc_root(inode); root = d_alloc_root(inode);
if (!root) { if (!root) {
DBG("%s: could not get root dentry!\n",__FUNCTION__); DBG("%s: could not get root dentry!\n",__FUNCTION__);
iput(inode); iput(inode);
return NULL; return -ENOMEM;
} }
sb->s_root = root; sb->s_root = root;
return sb; return 0;
} }
static DECLARE_FSTYPE(driverfs_fs_type, "driverfs", driverfs_read_super, FS_SINGLE | FS_LITTER); static struct super_block *driverfs_get_sb(struct file_system_type *fs_type,
int flags, char *dev_name, void *data)
{
return get_sb_single(fs_type, flags, data, driverfs_fill_super);
}
static struct file_system_type driverfs_fs_type = {
owner: THIS_MODULE,
name: "driverfs",
get_sb: driverfs_get_sb,
fs_flags: FS_LITTER,
};
static int get_mount(void) static int get_mount(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment