* [dhowells-fs:ceph-iter 62/68] fs/ceph/rdwr.c:215:31: error: no member named 'content' in 'struct netfs_io_subrequest'
@ 2026-10-08 20:18 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-08 20:18 UTC (permalink / raw)
To: David Howells; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git ceph-iter
head: c67464ec28da31de31fe4358eb13c2771a280cb7
commit: ed86caec995f4071e6a31678ec9a78ab0947c856 [62/68] ceph: Use netfslib [INCOMPLETE]
config: i386-randconfig-r2104-20261008 (https://download.01.org/0day-ci/archive/20261008/202610082202.89TK4psR-lkp@intel.com/config)
compiler: clang version 22.1.8 (https://github.com/llvm/llvm-project ca7933e47d3a3451d81e72ac174dcb5aa28b59d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261008/202610082202.89TK4psR-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/202610082202.89TK4psR-lkp@intel.com/
All errors (new ones prefixed by >>):
>> fs/ceph/rdwr.c:215:31: error: no member named 'content' in 'struct netfs_io_subrequest'
215 | ret = bvecq_extract(&subreq->content, subreq->len, INT_MAX, &buf_copy,
| ~~~~~~ ^
fs/ceph/rdwr.c:220:27: error: no member named 'content' in 'struct netfs_io_subrequest'
220 | bvecq_pos_unset(&subreq->content);
| ~~~~~~ ^
fs/ceph/rdwr.c:221:10: error: no member named 'content' in 'struct netfs_io_subrequest'
221 | subreq->content.bvecq = buf_copy; /* Transfer extracted ref. */
| ~~~~~~ ^
fs/ceph/rdwr.c:224:46: error: no member named 'content' in 'struct netfs_io_subrequest'
224 | osd_req_op_extent_osd_bvecq(req, 0, subreq->content.bvecq, subreq->len);
| ~~~~~~ ^
fs/ceph/rdwr.c:423:48: error: no member named 'content' in 'struct netfs_io_subrequest'
423 | iov_iter_bvec_queue(&iter, ITER_DEST, subreq->content.bvecq,
| ~~~~~~ ^
fs/ceph/rdwr.c:424:16: error: no member named 'content' in 'struct netfs_io_subrequest'
424 | subreq->content.slot, subreq->content.offset,
| ~~~~~~ ^
fs/ceph/rdwr.c:424:38: error: no member named 'content' in 'struct netfs_io_subrequest'
424 | subreq->content.slot, subreq->content.offset,
| ~~~~~~ ^
fs/ceph/rdwr.c:500:46: error: no member named 'content' in 'struct netfs_io_subrequest'
500 | osd_req_op_extent_osd_bvecq(req, 0, subreq->content.bvecq, subreq->len);
| ~~~~~~ ^
8 errors generated.
vim +215 fs/ceph/rdwr.c
164
165 /*
166 * Issue a subrequest to upload to the server.
167 */
168 static int ceph_issue_write(struct netfs_io_subrequest *subreq)
169 {
170 struct ceph_io_subrequest *csub = ceph_sreq2io(subreq);
171 struct ceph_snap_context *snapc = ceph_wreq_snapc(subreq->rreq);
172 struct ceph_osd_request *req;
173 struct ceph_io_request *creq = csub->creq;
174 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(subreq->rreq->inode);
175 struct ceph_osd_client *osdc = &fsc->client->osdc;
176 struct inode *inode = subreq->rreq->inode;
177 struct ceph_inode_info *ci = ceph_inode(inode);
178 struct ceph_client *cl = ceph_inode_to_client(inode);
179 struct bvecq *buf_copy;
180 unsigned long long len;
181 unsigned int rmw = test_bit(NETFS_RREQ_RMW, &ci->netfs.flags) ? 1 : 0;
182 u64 objnum, objoff;
183 int ret;
184
185 doutc(cl, "issue_write R=%08x[%x] ino %llx %lld~%zu -- %srmw\n",
186 subreq->rreq->debug_id, subreq->debug_index, ci->i_vino.ino,
187 subreq->start, subreq->len,
188 rmw ? "" : "no ");
189
190 /* Clamp the length to the next object boundary. */
191 ceph_calc_file_object_mapping(&ci->i_layout, subreq->start, subreq->len,
192 &objnum, &objoff, &subreq->len);
193
194 len = umin(subreq->len, fsc->mount_options->wsize);
195
196 req = ceph_osdc_new_request(osdc, &ci->i_layout, ci->i_vino,
197 subreq->start, &len,
198 rmw, /* which: 0 or 1 */
199 rmw + 1, /* num_ops: 1 or 2 */
200 CEPH_OSD_OP_WRITE,
201 CEPH_OSD_FLAG_WRITE,
202 snapc,
203 ci->i_truncate_seq,
204 ci->i_truncate_size, false);
205 if (IS_ERR(req)) {
206 netfs_write_subrequest_terminated(subreq, PTR_ERR(req));
207 return 0;
208 }
209
210 /* Get the write buffer and copy the bvecq. */
211 subreq->len = len;
212 ret = netfs_prepare_write_buffer(subreq, INT_MAX);
213 if (ret < 0)
214 return ret;
> 215 ret = bvecq_extract(&subreq->content, subreq->len, INT_MAX, &buf_copy,
216 creq->rreq.origin == NETFS_WRITEBACK);
217 if (ret < 0)
218 return ret;
219
220 bvecq_pos_unset(&subreq->content);
221 subreq->content.bvecq = buf_copy; /* Transfer extracted ref. */
222
223 doutc(cl, "write op %lld~%zu\n", subreq->start, subreq->len);
224 osd_req_op_extent_osd_bvecq(req, 0, subreq->content.bvecq, subreq->len);
225 req->r_inode = inode;
226 req->r_mtime = current_time(inode);
227 req->r_callback = ceph_netfs_write_callback;
228 req->r_subreq = subreq;
229 csub->req = req;
230
231 /*
232 * If we're doing an RMW cycle, set up an assertion that the remote
233 * data hasn't changed. If we don't have a version number, then the
234 * object doesn't exist yet. Use an exclusive create instead of a
235 * version assertion in that case.
236 */
237 if (rmw) {
238 if (creq->rmw_assert_version) {
239 osd_req_op_init(req, 0, CEPH_OSD_OP_ASSERT_VER, 0);
240 req->r_ops[0].assert_ver.ver = creq->rmw_assert_version;
241 } else {
242 osd_req_op_init(req, 0, CEPH_OSD_OP_CREATE,
243 CEPH_OSD_OP_FLAG_EXCL);
244 }
245 }
246
247 trace_netfs_sreq(subreq, netfs_sreq_trace_submit);
248 ceph_osdc_start_request(osdc, req);
249 return 0;
250 }
251
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-08 20:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-08 20:18 [dhowells-fs:ceph-iter 62/68] fs/ceph/rdwr.c:215:31: error: no member named 'content' in 'struct netfs_io_subrequest' kernel test robot
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.