Merge tag 'for-5.20/block-2022-08-04' of git://git.kernel.dk/linux-block
[platform/kernel/linux-starfive.git] / drivers / misc / vmw_balloon.c
index 086ce77..85dd6aa 100644 (file)
@@ -29,8 +29,6 @@
 #include <linux/rwsem.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
-#include <linux/mount.h>
-#include <linux/pseudo_fs.h>
 #include <linux/balloon_compaction.h>
 #include <linux/vmw_vmci_defs.h>
 #include <linux/vmw_vmci_api.h>
@@ -1730,20 +1728,6 @@ static inline void vmballoon_debugfs_exit(struct vmballoon *b)
 
 
 #ifdef CONFIG_BALLOON_COMPACTION
-
-static int vmballoon_init_fs_context(struct fs_context *fc)
-{
-       return init_pseudo(fc, BALLOON_VMW_MAGIC) ? 0 : -ENOMEM;
-}
-
-static struct file_system_type vmballoon_fs = {
-       .name                   = "balloon-vmware",
-       .init_fs_context        = vmballoon_init_fs_context,
-       .kill_sb                = kill_anon_super,
-};
-
-static struct vfsmount *vmballoon_mnt;
-
 /**
  * vmballoon_migratepage() - migrates a balloon page.
  * @b_dev_info: balloon device information descriptor.
@@ -1863,21 +1847,6 @@ out_unlock:
 }
 
 /**
- * vmballoon_compaction_deinit() - removes compaction related data.
- *
- * @b: pointer to the balloon.
- */
-static void vmballoon_compaction_deinit(struct vmballoon *b)
-{
-       if (!IS_ERR(b->b_dev_info.inode))
-               iput(b->b_dev_info.inode);
-
-       b->b_dev_info.inode = NULL;
-       kern_unmount(vmballoon_mnt);
-       vmballoon_mnt = NULL;
-}
-
-/**
  * vmballoon_compaction_init() - initialized compaction for the balloon.
  *
  * @b: pointer to the balloon.
@@ -1888,33 +1857,15 @@ static void vmballoon_compaction_deinit(struct vmballoon *b)
  *
  * Return: zero on success or error code on failure.
  */
-static __init int vmballoon_compaction_init(struct vmballoon *b)
+static __init void vmballoon_compaction_init(struct vmballoon *b)
 {
-       vmballoon_mnt = kern_mount(&vmballoon_fs);
-       if (IS_ERR(vmballoon_mnt))
-               return PTR_ERR(vmballoon_mnt);
-
        b->b_dev_info.migratepage = vmballoon_migratepage;
-       b->b_dev_info.inode = alloc_anon_inode(vmballoon_mnt->mnt_sb);
-
-       if (IS_ERR(b->b_dev_info.inode))
-               return PTR_ERR(b->b_dev_info.inode);
-
-       b->b_dev_info.inode->i_mapping->a_ops = &balloon_aops;
-       return 0;
 }
 
 #else /* CONFIG_BALLOON_COMPACTION */
-
-static void vmballoon_compaction_deinit(struct vmballoon *b)
-{
-}
-
-static int vmballoon_compaction_init(struct vmballoon *b)
+static inline void vmballoon_compaction_init(struct vmballoon *b)
 {
-       return 0;
 }
-
 #endif /* CONFIG_BALLOON_COMPACTION */
 
 static int __init vmballoon_init(void)
@@ -1939,9 +1890,7 @@ static int __init vmballoon_init(void)
         * balloon_devinfo_init() .
         */
        balloon_devinfo_init(&balloon.b_dev_info);
-       error = vmballoon_compaction_init(&balloon);
-       if (error)
-               goto fail;
+       vmballoon_compaction_init(&balloon);
 
        INIT_LIST_HEAD(&balloon.huge_pages);
        spin_lock_init(&balloon.comm_lock);
@@ -1958,7 +1907,6 @@ static int __init vmballoon_init(void)
        return 0;
 fail:
        vmballoon_unregister_shrinker(&balloon);
-       vmballoon_compaction_deinit(&balloon);
        return error;
 }
 
@@ -1985,8 +1933,5 @@ static void __exit vmballoon_exit(void)
         */
        vmballoon_send_start(&balloon, 0);
        vmballoon_pop(&balloon);
-
-       /* Only once we popped the balloon, compaction can be deinit */
-       vmballoon_compaction_deinit(&balloon);
 }
 module_exit(vmballoon_exit);