lkml.org 
[lkml]   [2019]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjectlinux-next: build failure after merge of the drm tree
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 <sfr@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 <sfr@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
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2019-07-08 06:49    [W:0.034 / U:0.692 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site