aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/kernfs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-01-17 12:02:57 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2019-01-17 12:02:57 -0500
commit6d7fbce7da0cd06ff3f3f30e009a15a6243f0bc0 (patch)
tree8bd91535c50ec916bd0b4b6a7550c3a0eb28c9f9 /fs/kernfs
parentcgroup: saner refcounting for cgroup_root (diff)
downloadwireguard-linux-6d7fbce7da0cd06ff3f3f30e009a15a6243f0bc0.tar.xz
wireguard-linux-6d7fbce7da0cd06ff3f3f30e009a15a6243f0bc0.zip
kill kernfs_pin_sb()
unused now and impossible to use safely anyway. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/kernfs')
-rw-r--r--fs/kernfs/mount.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c
index d71c9405874a..4d303047a4f8 100644
--- a/fs/kernfs/mount.c
+++ b/fs/kernfs/mount.c
@@ -377,36 +377,6 @@ void kernfs_kill_sb(struct super_block *sb)
kfree(info);
}
-/**
- * kernfs_pin_sb: try to pin the superblock associated with a kernfs_root
- * @kernfs_root: the kernfs_root in question
- * @ns: the namespace tag
- *
- * Pin the superblock so the superblock won't be destroyed in subsequent
- * operations. This can be used to block ->kill_sb() which may be useful
- * for kernfs users which dynamically manage superblocks.
- *
- * Returns NULL if there's no superblock associated to this kernfs_root, or
- * -EINVAL if the superblock is being freed.
- */
-struct super_block *kernfs_pin_sb(struct kernfs_root *root, const void *ns)
-{
- struct kernfs_super_info *info;
- struct super_block *sb = NULL;
-
- mutex_lock(&kernfs_mutex);
- list_for_each_entry(info, &root->supers, node) {
- if (info->ns == ns) {
- sb = info->sb;
- if (!atomic_inc_not_zero(&info->sb->s_active))
- sb = ERR_PTR(-EINVAL);
- break;
- }
- }
- mutex_unlock(&kernfs_mutex);
- return sb;
-}
-
void __init kernfs_init(void)
{