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
next prev 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.