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 <s...@canb.auug.org.au>
Date: Mon, 25 May 2020 19:53:40 +1000
Subject: [PATCH] pipe: update for pipe_buf_operations changes

Signed-off-by: Stephen Rothwell <s...@canb.auug.org.au>
---
 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: pgpza1DGU1grr.pgp
Description: OpenPGP digital signature

Reply via email to