diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-09 09:34:16 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-09 09:34:16 -0400 |
commit | 1f5ce9e93aa96a867f195ed45f6f77935175f12e (patch) | |
tree | caa9b6635990f69d47c1729524bd127e968b23f5 | |
parent | bb4a58bf46473e3e83d84054bbc110db3a0f85e4 (diff) |
VFS: Unexport do_kern_mount() and clean up simple_pin_fs()
Replace all module uses with the new vfs_kern_mount() interface, and fix up
simple_pin_fs().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | Documentation/filesystems/automount-support.txt | 2 | ||||
-rw-r--r-- | drivers/usb/core/inode.c | 2 | ||||
-rw-r--r-- | fs/afs/mntpt.c | 2 | ||||
-rw-r--r-- | fs/afs/super.c | 2 | ||||
-rw-r--r-- | fs/afs/super.h | 2 | ||||
-rw-r--r-- | fs/binfmt_misc.c | 3 | ||||
-rw-r--r-- | fs/configfs/mount.c | 2 | ||||
-rw-r--r-- | fs/debugfs/inode.c | 2 | ||||
-rw-r--r-- | fs/libfs.c | 4 | ||||
-rw-r--r-- | fs/super.c | 4 | ||||
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | mm/shmem.c | 2 | ||||
-rw-r--r-- | net/sunrpc/rpc_pipe.c | 2 | ||||
-rw-r--r-- | security/inode.c | 2 |
14 files changed, 17 insertions, 16 deletions
diff --git a/Documentation/filesystems/automount-support.txt b/Documentation/filesystems/automount-support.txt index 58c65a1713e5..7cac200e2a85 100644 --- a/Documentation/filesystems/automount-support.txt +++ b/Documentation/filesystems/automount-support.txt | |||
@@ -19,7 +19,7 @@ following procedure: | |||
19 | 19 | ||
20 | (2) Have the follow_link() op do the following steps: | 20 | (2) Have the follow_link() op do the following steps: |
21 | 21 | ||
22 | (a) Call do_kern_mount() to call the appropriate filesystem to set up a | 22 | (a) Call vfs_kern_mount() to call the appropriate filesystem to set up a |
23 | superblock and gain a vfsmount structure representing it. | 23 | superblock and gain a vfsmount structure representing it. |
24 | 24 | ||
25 | (b) Copy the nameidata provided as an argument and substitute the dentry | 25 | (b) Copy the nameidata provided as an argument and substitute the dentry |
diff --git a/drivers/usb/core/inode.c b/drivers/usb/core/inode.c index 3cf945cc5b9a..695b90a17a68 100644 --- a/drivers/usb/core/inode.c +++ b/drivers/usb/core/inode.c | |||
@@ -569,7 +569,7 @@ static int create_special_files (void) | |||
569 | ignore_mount = 1; | 569 | ignore_mount = 1; |
570 | 570 | ||
571 | /* create the devices special file */ | 571 | /* create the devices special file */ |
572 | retval = simple_pin_fs("usbfs", &usbfs_mount, &usbfs_mount_count); | 572 | retval = simple_pin_fs(&usb_fs_type, &usbfs_mount, &usbfs_mount_count); |
573 | if (retval) { | 573 | if (retval) { |
574 | err ("Unable to get usbfs mount"); | 574 | err ("Unable to get usbfs mount"); |
575 | goto exit; | 575 | goto exit; |
diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c index 4e6eeb59b83c..7b6dc03caf44 100644 --- a/fs/afs/mntpt.c +++ b/fs/afs/mntpt.c | |||
@@ -210,7 +210,7 @@ static struct vfsmount *afs_mntpt_do_automount(struct dentry *mntpt) | |||
210 | 210 | ||
211 | /* try and do the mount */ | 211 | /* try and do the mount */ |
212 | kdebug("--- attempting mount %s -o %s ---", devname, options); | 212 | kdebug("--- attempting mount %s -o %s ---", devname, options); |
213 | mnt = do_kern_mount("afs", 0, devname, options); | 213 | mnt = vfs_kern_mount(&afs_fs_type, 0, devname, options); |
214 | kdebug("--- mount result %p ---", mnt); | 214 | kdebug("--- mount result %p ---", mnt); |
215 | 215 | ||
216 | free_page((unsigned long) devname); | 216 | free_page((unsigned long) devname); |
diff --git a/fs/afs/super.c b/fs/afs/super.c index 53c56e7231ab..93a7821db0d7 100644 --- a/fs/afs/super.c +++ b/fs/afs/super.c | |||
@@ -48,7 +48,7 @@ static void afs_put_super(struct super_block *sb); | |||
48 | 48 | ||
49 | static void afs_destroy_inode(struct inode *inode); | 49 | static void afs_destroy_inode(struct inode *inode); |
50 | 50 | ||
51 | static struct file_system_type afs_fs_type = { | 51 | struct file_system_type afs_fs_type = { |
52 | .owner = THIS_MODULE, | 52 | .owner = THIS_MODULE, |
53 | .name = "afs", | 53 | .name = "afs", |
54 | .get_sb = afs_get_sb, | 54 | .get_sb = afs_get_sb, |
diff --git a/fs/afs/super.h b/fs/afs/super.h index ac11362f4e95..32de8cc6fae8 100644 --- a/fs/afs/super.h +++ b/fs/afs/super.h | |||
@@ -38,6 +38,8 @@ static inline struct afs_super_info *AFS_FS_S(struct super_block *sb) | |||
38 | return sb->s_fs_info; | 38 | return sb->s_fs_info; |
39 | } | 39 | } |
40 | 40 | ||
41 | extern struct file_system_type afs_fs_type; | ||
42 | |||
41 | #endif /* __KERNEL__ */ | 43 | #endif /* __KERNEL__ */ |
42 | 44 | ||
43 | #endif /* _LINUX_AFS_SUPER_H */ | 45 | #endif /* _LINUX_AFS_SUPER_H */ |
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index d73d75591a39..c0a909e1d290 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c | |||
@@ -55,6 +55,7 @@ typedef struct { | |||
55 | } Node; | 55 | } Node; |
56 | 56 | ||
57 | static DEFINE_RWLOCK(entries_lock); | 57 | static DEFINE_RWLOCK(entries_lock); |
58 | static struct file_system_type bm_fs_type; | ||
58 | static struct vfsmount *bm_mnt; | 59 | static struct vfsmount *bm_mnt; |
59 | static int entry_count; | 60 | static int entry_count; |
60 | 61 | ||
@@ -638,7 +639,7 @@ static ssize_t bm_register_write(struct file *file, const char __user *buffer, | |||
638 | if (!inode) | 639 | if (!inode) |
639 | goto out2; | 640 | goto out2; |
640 | 641 | ||
641 | err = simple_pin_fs("binfmt_misc", &bm_mnt, &entry_count); | 642 | err = simple_pin_fs(&bm_fs_type, &bm_mnt, &entry_count); |
642 | if (err) { | 643 | if (err) { |
643 | iput(inode); | 644 | iput(inode); |
644 | inode = NULL; | 645 | inode = NULL; |
diff --git a/fs/configfs/mount.c b/fs/configfs/mount.c index f920d30478e5..be5d86ae56f0 100644 --- a/fs/configfs/mount.c +++ b/fs/configfs/mount.c | |||
@@ -118,7 +118,7 @@ static struct file_system_type configfs_fs_type = { | |||
118 | 118 | ||
119 | int configfs_pin_fs(void) | 119 | int configfs_pin_fs(void) |
120 | { | 120 | { |
121 | return simple_pin_fs("configfs", &configfs_mount, | 121 | return simple_pin_fs(&configfs_fs_type, &configfs_mount, |
122 | &configfs_mnt_count); | 122 | &configfs_mnt_count); |
123 | } | 123 | } |
124 | 124 | ||
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index b55b4ea9a676..90f9417181fd 100644 --- a/fs/debugfs/inode.c +++ b/fs/debugfs/inode.c | |||
@@ -199,7 +199,7 @@ struct dentry *debugfs_create_file(const char *name, mode_t mode, | |||
199 | 199 | ||
200 | pr_debug("debugfs: creating file '%s'\n",name); | 200 | pr_debug("debugfs: creating file '%s'\n",name); |
201 | 201 | ||
202 | error = simple_pin_fs("debugfs", &debugfs_mount, &debugfs_mount_count); | 202 | error = simple_pin_fs(&debug_fs_type, &debugfs_mount, &debugfs_mount_count); |
203 | if (error) | 203 | if (error) |
204 | goto exit; | 204 | goto exit; |
205 | 205 | ||
diff --git a/fs/libfs.c b/fs/libfs.c index 7145ba7a48d0..4a3ec9ad8bed 100644 --- a/fs/libfs.c +++ b/fs/libfs.c | |||
@@ -424,13 +424,13 @@ out: | |||
424 | 424 | ||
425 | static DEFINE_SPINLOCK(pin_fs_lock); | 425 | static DEFINE_SPINLOCK(pin_fs_lock); |
426 | 426 | ||
427 | int simple_pin_fs(char *name, struct vfsmount **mount, int *count) | 427 | int simple_pin_fs(struct file_system_type *type, struct vfsmount **mount, int *count) |
428 | { | 428 | { |
429 | struct vfsmount *mnt = NULL; | 429 | struct vfsmount *mnt = NULL; |
430 | spin_lock(&pin_fs_lock); | 430 | spin_lock(&pin_fs_lock); |
431 | if (unlikely(!*mount)) { | 431 | if (unlikely(!*mount)) { |
432 | spin_unlock(&pin_fs_lock); | 432 | spin_unlock(&pin_fs_lock); |
433 | mnt = do_kern_mount(name, 0, name, NULL); | 433 | mnt = vfs_kern_mount(type, 0, type->name, NULL); |
434 | if (IS_ERR(mnt)) | 434 | if (IS_ERR(mnt)) |
435 | return PTR_ERR(mnt); | 435 | return PTR_ERR(mnt); |
436 | spin_lock(&pin_fs_lock); | 436 | spin_lock(&pin_fs_lock); |
diff --git a/fs/super.c b/fs/super.c index 848be4fc67a2..15f2afdbf82e 100644 --- a/fs/super.c +++ b/fs/super.c | |||
@@ -864,11 +864,9 @@ do_kern_mount(const char *fstype, int flags, const char *name, void *data) | |||
864 | return mnt; | 864 | return mnt; |
865 | } | 865 | } |
866 | 866 | ||
867 | EXPORT_SYMBOL_GPL(do_kern_mount); | ||
868 | |||
869 | struct vfsmount *kern_mount(struct file_system_type *type) | 867 | struct vfsmount *kern_mount(struct file_system_type *type) |
870 | { | 868 | { |
871 | return do_kern_mount(type->name, 0, type->name, NULL); | 869 | return vfs_kern_mount(type, 0, type->name, NULL); |
872 | } | 870 | } |
873 | 871 | ||
874 | EXPORT_SYMBOL(kern_mount); | 872 | EXPORT_SYMBOL(kern_mount); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index f813bc8266aa..eca70cfe5b85 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1763,7 +1763,7 @@ extern struct inode_operations simple_dir_inode_operations; | |||
1763 | struct tree_descr { char *name; const struct file_operations *ops; int mode; }; | 1763 | struct tree_descr { char *name; const struct file_operations *ops; int mode; }; |
1764 | struct dentry *d_alloc_name(struct dentry *, const char *); | 1764 | struct dentry *d_alloc_name(struct dentry *, const char *); |
1765 | extern int simple_fill_super(struct super_block *, int, struct tree_descr *); | 1765 | extern int simple_fill_super(struct super_block *, int, struct tree_descr *); |
1766 | extern int simple_pin_fs(char *name, struct vfsmount **mount, int *count); | 1766 | extern int simple_pin_fs(struct file_system_type *, struct vfsmount **mount, int *count); |
1767 | extern void simple_release_fs(struct vfsmount **mount, int *count); | 1767 | extern void simple_release_fs(struct vfsmount **mount, int *count); |
1768 | 1768 | ||
1769 | extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); | 1769 | extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); |
diff --git a/mm/shmem.c b/mm/shmem.c index 4c5e68e4e9ae..8184342440f0 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -2261,7 +2261,7 @@ static int __init init_tmpfs(void) | |||
2261 | #ifdef CONFIG_TMPFS | 2261 | #ifdef CONFIG_TMPFS |
2262 | devfs_mk_dir("shm"); | 2262 | devfs_mk_dir("shm"); |
2263 | #endif | 2263 | #endif |
2264 | shm_mnt = do_kern_mount(tmpfs_fs_type.name, MS_NOUSER, | 2264 | shm_mnt = vfs_kern_mount(&tmpfs_fs_type, MS_NOUSER, |
2265 | tmpfs_fs_type.name, NULL); | 2265 | tmpfs_fs_type.name, NULL); |
2266 | if (IS_ERR(shm_mnt)) { | 2266 | if (IS_ERR(shm_mnt)) { |
2267 | error = PTR_ERR(shm_mnt); | 2267 | error = PTR_ERR(shm_mnt); |
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index cc673dd8433f..a5226df8ac03 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
@@ -439,7 +439,7 @@ struct vfsmount *rpc_get_mount(void) | |||
439 | { | 439 | { |
440 | int err; | 440 | int err; |
441 | 441 | ||
442 | err = simple_pin_fs("rpc_pipefs", &rpc_mount, &rpc_mount_count); | 442 | err = simple_pin_fs(&rpc_pipe_fs_type, &rpc_mount, &rpc_mount_count); |
443 | if (err != 0) | 443 | if (err != 0) |
444 | return ERR_PTR(err); | 444 | return ERR_PTR(err); |
445 | return rpc_mount; | 445 | return rpc_mount; |
diff --git a/security/inode.c b/security/inode.c index 0f77b0223662..8bf40625c670 100644 --- a/security/inode.c +++ b/security/inode.c | |||
@@ -224,7 +224,7 @@ struct dentry *securityfs_create_file(const char *name, mode_t mode, | |||
224 | 224 | ||
225 | pr_debug("securityfs: creating file '%s'\n",name); | 225 | pr_debug("securityfs: creating file '%s'\n",name); |
226 | 226 | ||
227 | error = simple_pin_fs("securityfs", &mount, &mount_count); | 227 | error = simple_pin_fs(&fs_type, &mount, &mount_count); |
228 | if (error) { | 228 | if (error) { |
229 | dentry = ERR_PTR(error); | 229 | dentry = ERR_PTR(error); |
230 | goto exit; | 230 | goto exit; |