All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: David Howells <dhowells@redhat.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [dhowells-fs:ceph-iter 62/68] fs/ceph/rdwr.c:215:31: error: no member named 'content' in 'struct netfs_io_subrequest'
Date: Thu, 08 Oct 2026 22:18:05 +0200	[thread overview]
Message-ID: <202610082202.89TK4psR-lkp@intel.com> (raw)

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

                 reply	other threads:[~2026-10-08 20:18 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202610082202.89TK4psR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dhowells@redhat.com \
    --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.