All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Joanne Koong <joannelkoong@gmail.com>, axboe@kernel.dk
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	miklos@szeredi.hu, bschubert@ddn.com,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v1 8/9] fuse: add zero-copy over io-uring
Date: Sat, 28 Mar 2026 14:53:10 +0100	[thread overview]
Message-ID: <202603281401.HP3uX5G1-lkp@intel.com> (raw)
In-Reply-To: <20260324224532.3733468-9-joannelkoong@gmail.com>

Hi Joanne,

kernel test robot noticed the following build errors:

[auto build test ERROR on mszeredi-fuse/for-next]
[also build test ERROR on linus/master v7.0-rc5 next-20260327]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Joanne-Koong/fuse-separate-next-request-fetching-from-sending-logic/20260328-142620
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next
patch link:    https://lore.kernel.org/r/20260324224532.3733468-9-joannelkoong%40gmail.com
patch subject: [PATCH v1 8/9] fuse: add zero-copy over io-uring
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20260328/202603281401.HP3uX5G1-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260328/202603281401.HP3uX5G1-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603281401.HP3uX5G1-lkp@intel.com/

All errors (new ones prefixed by >>):

>> fs/fuse/dev_uring.c:132:3: error: call to undeclared function 'io_buffer_unregister'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     132 |                 io_buffer_unregister(ent->cmd, ent->id, issue_flags);
         |                 ^
   fs/fuse/dev_uring.c:132:3: note: did you mean 'io_buffer_unregister_bvec'?
   include/linux/io_uring/cmd.h:188:5: note: 'io_buffer_unregister_bvec' declared here
     188 | int io_buffer_unregister_bvec(struct io_uring_cmd *cmd, unsigned int index,
         |     ^
   fs/fuse/dev_uring.c:317:17: error: call to undeclared function 'io_uring_registered_mem_region_get'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     317 |         mem_reg_addr = io_uring_registered_mem_region_get(cmd, &nr_pages,
         |                        ^
   fs/fuse/dev_uring.c:317:15: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
     317 |         mem_reg_addr = io_uring_registered_mem_region_get(cmd, &nr_pages,
         |                      ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     318 |                                                           issue_flags);
         |                                                           ~~~~~~~~~~~~
   fs/fuse/dev_uring.c:356:8: error: call to undeclared function 'io_uring_buf_ring_pin'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     356 |         err = io_uring_buf_ring_pin(cmd, FUSE_URING_BUFRING_GROUP, issue_flags,
         |               ^
   fs/fuse/dev_uring.c:361:7: error: call to undeclared function 'io_uring_is_kmbuf_ring'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     361 |         if (!io_uring_is_kmbuf_ring(cmd, FUSE_URING_BUFRING_GROUP, issue_flags))
         |              ^
   fs/fuse/dev_uring.c:372:2: error: call to undeclared function 'io_uring_buf_ring_unpin'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     372 |         io_uring_buf_ring_unpin(cmd, FUSE_URING_BUFRING_GROUP, issue_flags);
         |         ^
   fs/fuse/dev_uring.c:425:4: error: call to undeclared function 'io_uring_buf_ring_unpin'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     425 |                         io_uring_buf_ring_unpin(cmd, FUSE_URING_BUFRING_GROUP,
         |                         ^
>> fs/fuse/dev_uring.c:859:11: error: use of undeclared identifier 'IO_BUF_DEST'
     859 |                 ddir |= IO_BUF_DEST;
         |                         ^
>> fs/fuse/dev_uring.c:861:11: error: use of undeclared identifier 'IO_BUF_SOURCE'
     861 |                 ddir |= IO_BUF_SOURCE;
         |                         ^
>> fs/fuse/dev_uring.c:883:11: error: too many arguments to function call, expected 5, have 8
     881 |         err = io_buffer_register_bvec(ent->cmd, bvs, ap->num_folios,
         |               ~~~~~~~~~~~~~~~~~~~~~~~
     882 |                                       fuse_zero_copy_release, zc_bvs,
     883 |                                       ddir, ent->id,
         |                                       ^~~~~~~~~~~~~~
     884 |                                       issue_flags);
         |                                       ~~~~~~~~~~~
   include/linux/io_uring/cmd.h:185:5: note: 'io_buffer_register_bvec' declared here
     185 | int io_buffer_register_bvec(struct io_uring_cmd *cmd, struct request *rq,
         |     ^                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     186 |                             void (*release)(void *), unsigned int index,
         |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     187 |                             unsigned int issue_flags);
         |                             ~~~~~~~~~~~~~~~~~~~~~~~~
   fs/fuse/dev_uring.c:1013:8: error: call to undeclared function 'io_ring_buffer_select'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1013 |         sel = io_ring_buffer_select(cmd_to_io_kiocb(ent->cmd), &len,
         |               ^
   fs/fuse/dev_uring.c:1013:8: note: did you mean 'io_uring_cmd_buffer_select'?
   include/linux/io_uring/cmd.h:83:18: note: 'io_uring_cmd_buffer_select' declared here
      83 | struct io_br_sel io_uring_cmd_buffer_select(struct io_uring_cmd *ioucmd,
         |                  ^
   fs/fuse/dev_uring.c:1013:6: error: assigning to 'struct io_br_sel' from incompatible type 'int'
    1013 |         sel = io_ring_buffer_select(cmd_to_io_kiocb(ent->cmd), &len,
         |             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1014 |                                     ent->queue->bufring.list, issue_flags);
         |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/fuse/dev_uring.c:1017:11: error: no member named 'kaddr' in 'struct io_br_sel'; did you mean 'addr'?
    1017 |         if (!sel.kaddr)
         |                  ^~~~~
         |                  addr
   include/linux/io_uring_types.h:100:16: note: 'addr' declared here
     100 |                 void __user *addr;
         |                              ^
   fs/fuse/dev_uring.c:1020:35: error: no member named 'kaddr' in 'struct io_br_sel'; did you mean 'addr'?
    1020 |         ent->payload_kvec.iov_base = sel.kaddr;
         |                                          ^~~~~
         |                                          addr
   include/linux/io_uring_types.h:100:16: note: 'addr' declared here
     100 |                 void __user *addr;
         |                              ^
   fs/fuse/dev_uring.c:1022:20: error: no member named 'buf_id' in 'struct io_br_sel'
    1022 |         ent->buf_id = sel.buf_id;
         |                       ~~~ ^
   fs/fuse/dev_uring.c:1038:15: error: call to undeclared function 'io_uring_kmbuf_recycle'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1038 |         WARN_ON_ONCE(io_uring_kmbuf_recycle(ent->cmd, FUSE_URING_BUFRING_GROUP,
         |                      ^
   16 errors generated.


vim +/io_buffer_unregister +132 fs/fuse/dev_uring.c

   110	
   111	static void fuse_uring_req_end(struct fuse_ring_ent *ent, struct fuse_req *req,
   112				       int error, unsigned issue_flags)
   113	{
   114		struct fuse_ring_queue *queue = ent->queue;
   115		struct fuse_ring *ring = queue->ring;
   116		struct fuse_conn *fc = ring->fc;
   117	
   118		lockdep_assert_not_held(&queue->lock);
   119		spin_lock(&queue->lock);
   120		ent->fuse_req = NULL;
   121		list_del_init(&req->list);
   122		if (test_bit(FR_BACKGROUND, &req->flags)) {
   123			queue->active_background--;
   124			spin_lock(&fc->bg_lock);
   125			fuse_uring_flush_bg(queue);
   126			spin_unlock(&fc->bg_lock);
   127		}
   128	
   129		spin_unlock(&queue->lock);
   130	
   131		if (ent->zero_copied) {
 > 132			io_buffer_unregister(ent->cmd, ent->id, issue_flags);
   133			ent->zero_copied = false;
   134		}
   135	
   136		if (error)
   137			req->out.h.error = error;
   138	
   139		clear_bit(FR_SENT, &req->flags);
   140		fuse_request_end(req);
   141	}
   142	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  parent reply	other threads:[~2026-03-28 13:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-24 22:45 [PATCH v1 0/9] fuse: add io-uring buffer rings and zero-copy Joanne Koong
2026-03-24 22:45 ` [PATCH v1 1/9] fuse: separate next request fetching from sending logic Joanne Koong
2026-03-24 22:45 ` [PATCH v1 2/9] fuse: refactor io-uring header copying to ring Joanne Koong
2026-03-24 22:45 ` [PATCH v1 3/9] fuse: refactor io-uring header copying from ring Joanne Koong
2026-03-24 22:45 ` [PATCH v1 4/9] fuse: use enum types for header copying Joanne Koong
2026-03-24 22:45 ` [PATCH v1 5/9] fuse: refactor setting up copy state for payload copying Joanne Koong
2026-03-24 22:45 ` [PATCH v1 6/9] fuse: support buffer copying for kernel addresses Joanne Koong
2026-03-24 22:45 ` [PATCH v1 7/9] fuse: add io-uring kernel-managed buffer ring Joanne Koong
2026-03-28 12:21   ` kernel test robot
2026-03-28 12:54   ` kernel test robot
2026-03-28 13:27   ` kernel test robot
2026-03-30 21:28   ` Bernd Schubert
2026-03-30 23:19     ` Joanne Koong
2026-03-31 21:30       ` Bernd Schubert
2026-03-24 22:45 ` [PATCH v1 8/9] fuse: add zero-copy over io-uring Joanne Koong
2026-03-28 13:02   ` kernel test robot
2026-03-28 13:53   ` kernel test robot [this message]
2026-03-30 15:43     ` Joanne Koong
2026-03-31  3:35       ` Philip Li
2026-03-24 22:45 ` [PATCH v1 9/9] docs: fuse: add io-uring bufring and zero-copy documentation Joanne Koong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202603281401.HP3uX5G1-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=axboe@kernel.dk \
    --cc=bschubert@ddn.com \
    --cc=joannelkoong@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=miklos@szeredi.hu \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.