vfs: Convert virtio_balloon to use the new mount API
authorDavid Howells <dhowells@redhat.com>
Mon, 25 Mar 2019 16:38:25 +0000 (16:38 +0000)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 25 May 2019 22:06:15 +0000 (18:06 -0400)
Convert the virtio_balloon filesystem to the new internal mount API as the old
one will be obsoleted and removed.  This allows greater flexibility in
communication of mount parameters between userspace, the VFS and the
filesystem.

See Documentation/filesystems/mount_api.txt for more information.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: "Michael S. Tsirkin" <mst@redhat.com>
cc: Jason Wang <jasowang@redhat.com>
cc: virtualization@lists.linux-foundation.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/virtio/virtio_balloon.c

index 62bafc4f2662c07bfa54b6cd3e92b5de76b1210d..4ca2d71d43f845adc3de11161a174c8263bafc86 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/mm.h>
 #include <linux/mount.h>
 #include <linux/magic.h>
+#include <linux/pseudo_fs.h>
 
 /*
  * Balloon device works in 4K page units.  So each page is pointed to by
@@ -758,15 +759,14 @@ static int virtballoon_migratepage(struct balloon_dev_info *vb_dev_info,
        return MIGRATEPAGE_SUCCESS;
 }
 
-static struct dentry *balloon_mount(struct file_system_type *fs_type,
-               int flags, const char *dev_name, void *data)
+static int balloon_init_fs_context(struct fs_context *fc)
 {
-       return mount_pseudo(fs_type, NULL, NULL, BALLOON_KVM_MAGIC);
+       return init_pseudo(fc, BALLOON_KVM_MAGIC) ? 0 : -ENOMEM;
 }
 
 static struct file_system_type balloon_fs = {
        .name           = "balloon-kvm",
-       .mount          = balloon_mount,
+       .init_fs_context = balloon_init_fs_context,
        .kill_sb        = kill_anon_super,
 };