Loading fs/kernfs/mount.c +0 −30 Original line number Original line Diff line number Diff line Loading @@ -377,36 +377,6 @@ void kernfs_kill_sb(struct super_block *sb) kfree(info); 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) void __init kernfs_init(void) { { Loading include/linux/kernfs.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -357,7 +357,6 @@ struct dentry *kernfs_mount_ns(struct file_system_type *fs_type, int flags, struct kernfs_root *root, unsigned long magic, struct kernfs_root *root, unsigned long magic, bool *new_sb_created, const void *ns); bool *new_sb_created, const void *ns); void kernfs_kill_sb(struct super_block *sb); void kernfs_kill_sb(struct super_block *sb); struct super_block *kernfs_pin_sb(struct kernfs_root *root, const void *ns); void kernfs_init(void); void kernfs_init(void); Loading Loading
fs/kernfs/mount.c +0 −30 Original line number Original line Diff line number Diff line Loading @@ -377,36 +377,6 @@ void kernfs_kill_sb(struct super_block *sb) kfree(info); 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) void __init kernfs_init(void) { { Loading
include/linux/kernfs.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -357,7 +357,6 @@ struct dentry *kernfs_mount_ns(struct file_system_type *fs_type, int flags, struct kernfs_root *root, unsigned long magic, struct kernfs_root *root, unsigned long magic, bool *new_sb_created, const void *ns); bool *new_sb_created, const void *ns); void kernfs_kill_sb(struct super_block *sb); void kernfs_kill_sb(struct super_block *sb); struct super_block *kernfs_pin_sb(struct kernfs_root *root, const void *ns); void kernfs_init(void); void kernfs_init(void); Loading