linux-next: build failure after merge of the notifications tree

From: Stephen Rothwell
Date: Mon May 25 2020 - 05:58:21 EST


Hi all,

After merging the notifications tree, today's linux-next build (x86_64
allmodconfig) failed like this:

kernel/watch_queue.c:67:13: error: 'generic_pipe_buf_confirm' undeclared here (not in a function); did you mean 'generic_pipe_buf_release'?
67 | .confirm = generic_pipe_buf_confirm,
| ^~~~~~~~~~~~~~~~~~~~~~~~
| generic_pipe_buf_release
kernel/watch_queue.c:69:3: error: 'const struct pipe_buf_operations' has no member named 'steal'
69 | .steal = watch_queue_pipe_buf_steal,
| ^~~~~
kernel/watch_queue.c:69:12: error: initialization of 'bool (*)(struct pipe_inode_info *, struct pipe_buffer *)' {aka '_Bool (*)(struct pipe_inode_info *, struct pipe_buffer *)'} from incompatible pointer type 'int (*)(struct pipe_inode_info *, struct pipe_buffer *)' [-Werror=incompatible-pointer-types]
69 | .steal = watch_queue_pipe_buf_steal,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/watch_queue.c:69:12: note: (near initialization for 'watch_queue_pipe_buf_ops.try_steal')

Caused by commit

c73be61cede5 ("pipe: Add general notification queue support")

from the notifications tree interacting with commits

76887c256744 ("fs: make the pipe_buf_operations ->steal operation optional")
b8d9e7f2411b ("fs: make the pipe_buf_operations ->confirm operation optional")

from the vfs tree.

I have applied the following merge fix patch.

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Mon, 25 May 2020 19:53:40 +1000
Subject: [PATCH] pipe: update for pipe_buf_operations changes

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
kernel/watch_queue.c | 8 --------
1 file changed, 8 deletions(-)

diff --git a/kernel/watch_queue.c b/kernel/watch_queue.c
index 9a9699c06709..d7a369eab613 100644
--- a/kernel/watch_queue.c
+++ b/kernel/watch_queue.c
@@ -56,17 +56,9 @@ static void watch_queue_pipe_buf_release(struct pipe_inode_info *pipe,
set_bit(bit, wqueue->notes_bitmap);
}

-static int watch_queue_pipe_buf_steal(struct pipe_inode_info *pipe,
- struct pipe_buffer *buf)
-{
- return -1; /* No. */
-}
-
/* New data written to a pipe may be appended to a buffer with this type. */
static const struct pipe_buf_operations watch_queue_pipe_buf_ops = {
- .confirm = generic_pipe_buf_confirm,
.release = watch_queue_pipe_buf_release,
- .steal = watch_queue_pipe_buf_steal,
.get = generic_pipe_buf_get,
};

--
2.26.2

--
Cheers,
Stephen Rothwell

Attachment: pgpnZYj9_ulVY.pgp
Description: OpenPGP digital signature