All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.