Commit 1cc86697 authored by Alexander Viro's avatar Alexander Viro Committed by Linus Torvalds

[PATCH] (7/9) more ->get_sb() stuff

More ->get_sb() patches: autofs
parent 08e7ca9b
...@@ -145,7 +145,7 @@ extern struct file_operations autofs_dir_operations; ...@@ -145,7 +145,7 @@ extern struct file_operations autofs_dir_operations;
/* Initializing function */ /* Initializing function */
struct super_block *autofs_read_super(struct super_block *, void *,int); int autofs_fill_super(struct super_block *, void *, int);
/* Queue management functions */ /* Queue management functions */
......
...@@ -14,7 +14,17 @@ ...@@ -14,7 +14,17 @@
#include <linux/init.h> #include <linux/init.h>
#include "autofs_i.h" #include "autofs_i.h"
static DECLARE_FSTYPE(autofs_fs_type, "autofs", autofs_read_super, 0); static struct super_block *autofs_get_sb(struct file_system_type *fs_type,
int flags, char *dev_name, void *data)
{
return get_sb_nodev(fs_type, flags, data, autofs_fill_super);
}
static struct file_system_type autofs_fs_type = {
owner: THIS_MODULE,
name: "autofs",
get_sb: autofs_get_sb,
};
static int __init init_autofs_fs(void) static int __init init_autofs_fs(void)
{ {
......
...@@ -111,8 +111,7 @@ static int parse_options(char *options, int *pipefd, uid_t *uid, gid_t *gid, pid ...@@ -111,8 +111,7 @@ static int parse_options(char *options, int *pipefd, uid_t *uid, gid_t *gid, pid
return (*pipefd < 0); return (*pipefd < 0);
} }
struct super_block *autofs_read_super(struct super_block *s, void *data, int autofs_fill_super(struct super_block *s, void *data, int silent)
int silent)
{ {
struct inode * root_inode; struct inode * root_inode;
struct dentry * root; struct dentry * root;
...@@ -175,7 +174,7 @@ struct super_block *autofs_read_super(struct super_block *s, void *data, ...@@ -175,7 +174,7 @@ struct super_block *autofs_read_super(struct super_block *s, void *data,
* Success! Install the root dentry now to indicate completion. * Success! Install the root dentry now to indicate completion.
*/ */
s->s_root = root; s->s_root = root;
return s; return 0;
fail_fput: fail_fput:
printk("autofs: pipe file descriptor does not contain proper ops\n"); printk("autofs: pipe file descriptor does not contain proper ops\n");
...@@ -189,7 +188,7 @@ struct super_block *autofs_read_super(struct super_block *s, void *data, ...@@ -189,7 +188,7 @@ struct super_block *autofs_read_super(struct super_block *s, void *data,
fail_free: fail_free:
kfree(sbi); kfree(sbi);
fail_unlock: fail_unlock:
return NULL; return -EINVAL;
} }
static int autofs_statfs(struct super_block *sb, struct statfs *buf) static int autofs_statfs(struct super_block *sb, struct statfs *buf)
......
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