Hi all,

After merging the drm tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

drivers/dma-buf/dma-buf.c: In function 'dma_buf_fs_mount':
drivers/dma-buf/dma-buf.c:65:9: error: implicit declaration of function 
'mount_pseudo'; did you mean 'mount_bdev'? 
[-Werror=implicit-function-declaration]
  return mount_pseudo(fs_type, "dmabuf:", NULL, &dma_buf_dentry_ops,
         ^~~~~~~~~~~~
         mount_bdev
drivers/dma-buf/dma-buf.c:65:9: warning: returning 'int' from a function with 
return type 'struct dentry *' makes pointer from integer without a cast 
[-Wint-conversion]
  return mount_pseudo(fs_type, "dmabuf:", NULL, &dma_buf_dentry_ops,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    DMA_BUF_MAGIC);
    ~~~~~~~~~~~~~~

Caused by commit

  ed63bb1d1f84 ("dma-buf: give each buffer a full-fledged inode")

interacting with commit

  8d9e46d80777 ("fold mount_pseudo_xattr() into pseudo_fs_get_tree()")

from the vfs tree.

I have added the following merge fix patch for today.

From: Stephen Rothwell <s...@canb.auug.org.au>
Date: Mon, 8 Jul 2019 14:36:53 +1000
Subject: [PATCH] dma-buf: convert to new mount api

Signed-off-by: Stephen Rothwell <s...@canb.auug.org.au>
---
 drivers/dma-buf/dma-buf.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index dc4b2c521d79..e8587c5eedb7 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -24,6 +24,7 @@
 #include <linux/reservation.h>
 #include <linux/mm.h>
 #include <linux/mount.h>
+#include <linux/pseudo_fs.h>
 
 #include <uapi/linux/dma-buf.h>
 #include <uapi/linux/magic.h>
@@ -59,16 +60,19 @@ static const struct dentry_operations dma_buf_dentry_ops = {
 
 static struct vfsmount *dma_buf_mnt;
 
-static struct dentry *dma_buf_fs_mount(struct file_system_type *fs_type,
-               int flags, const char *name, void *data)
+static int dma_buf_init_fs_context(struct fs_context *fc)
 {
-       return mount_pseudo(fs_type, "dmabuf:", NULL, &dma_buf_dentry_ops,
-                       DMA_BUF_MAGIC);
+       struct pseudo_fs_context *ctx = init_pseudo(fc, DMA_BUF_MAGIC);
+
+       if (!ctx)
+               return -ENOMEM;
+       ctx->dops = &dma_buf_dentry_ops;
+       return 0;
 }
 
 static struct file_system_type dma_buf_fs_type = {
        .name = "dmabuf",
-       .mount = dma_buf_fs_mount,
+       .init_fs_context = dma_buf_init_fs_context,
        .kill_sb = kill_anon_super,
 };
 
-- 
2.20.1

-- 
Cheers,
Stephen Rothwell

Attachment: pgpEIqFokpdkl.pgp
Description: OpenPGP digital signature

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to