From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2AAD620FC for ; Wed, 30 Aug 2023 10:29:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1693391342; x=1724927342; h=date:from:to:cc:subject:message-id:mime-version; bh=+7W+21dQyU+fvaO4Ce7hbDt7Wq7XY43q0+v27lUE35M=; b=GMqFah0icMVfYWrORCyEyAoqAgrbZubbziCkjoi+t5VGykJTgNXxOm42 gD0HQ0y+VRL1U1U5jzGSgAfTUJP4xD0vt+rMn/SPeNTf9i3IdXw1X4AMK WlzTFa/ivTI/JC+Z/pX/GH2RRVYCi+GgRG2IwaSnRjup9ekE3SF0njo6s xyOqlY20ylGv9iNCubRKolJgPaPYz5xBXnzFo8j8nR+NPq6UPqKx8wXuH TVH7cdggmvoTNE48gFO0oeWJc6RS/w4xtwE+rvgv4GAxGZo2H+IQaeF7O X6pw/QkvBlxTolvyJmoHmjPnrm91DJm8QzTmYsORIxJf2i19PsWe6Fy6p w==; X-IronPort-AV: E=McAfee;i="6600,9927,10817"; a="374517986" X-IronPort-AV: E=Sophos;i="6.02,213,1688454000"; d="scan'208";a="374517986" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2023 03:29:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10817"; a="912739850" X-IronPort-AV: E=Sophos;i="6.02,213,1688454000"; d="scan'208";a="912739850" Received: from lkp-server02.sh.intel.com (HELO daf8bb0a381d) ([10.239.97.151]) by orsmga005.jf.intel.com with ESMTP; 30 Aug 2023 03:28:58 -0700 Received: from kbuild by daf8bb0a381d with local (Exim 4.96) (envelope-from ) id 1qbIRU-0009iC-2X; Wed, 30 Aug 2023 10:28:57 +0000 Date: Wed, 30 Aug 2023 18:28:32 +0800 From: kernel test robot To: David Howells Cc: oe-kbuild-all@lists.linux.dev Subject: [dhowells-fs:ceph-iter 32/36] fs/ceph/addr.c:272:75: error: 'struct ceph_osd_data' has no member named 'pages' Message-ID: <202308301840.EcanqMph-lkp@intel.com> Precedence: bulk X-Mailing-List: oe-kbuild-all@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git ceph-iter head: d9c2320ef61eb3f02f0f9cbb4b8811c9991160ac commit: 12c2f80c4fdfc960bf346b28229c9257010864b9 [32/36] ceph: Remove CEPH_OS_DATA_TYPE_PAGES and its attendant helpers config: csky-allmodconfig (https://download.01.org/0day-ci/archive/20230830/202308301840.EcanqMph-lkp@intel.com/config) compiler: csky-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230830/202308301840.EcanqMph-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 | Closes: https://lore.kernel.org/oe-kbuild-all/202308301840.EcanqMph-lkp@intel.com/ All errors (new ones prefixed by >>): fs/ceph/addr.c: In function 'finish_netfs_read': fs/ceph/addr.c:255:62: error: 'struct ceph_osd_data' has no member named 'length' 255 | req->r_end_latency, osd_data->length, err); | ^~ >> fs/ceph/addr.c:272:75: error: 'struct ceph_osd_data' has no member named 'pages' 272 | err = ceph_fscrypt_decrypt_extents(inode, osd_data->pages, | ^~ >> fs/ceph/addr.c:280:31: error: 'CEPH_OSD_DATA_TYPE_PAGES' undeclared (first use in this function); did you mean 'CEPH_OSD_DATA_TYPE_ITER'? 280 | if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES) { | ^~~~~~~~~~~~~~~~~~~~~~~~ | CEPH_OSD_DATA_TYPE_ITER fs/ceph/addr.c:280:31: note: each undeclared identifier is reported only once for each function it appears in fs/ceph/addr.c:281:46: error: 'struct ceph_osd_data' has no member named 'pages' 281 | ceph_put_page_vector(osd_data->pages, | ^~ >> fs/ceph/addr.c:282:61: error: 'struct ceph_osd_data' has no member named 'offset' 282 | calc_pages_for(osd_data->offset, | ^~ fs/ceph/addr.c:283:49: error: 'struct ceph_osd_data' has no member named 'length' 283 | osd_data->length), false); | ^~ In file included from include/linux/string.h:5, from include/linux/ceph/ceph_debug.h:7, from fs/ceph/addr.c:2: fs/ceph/addr.c: In function 'writepages_finish': fs/ceph/addr.c:882:42: error: 'CEPH_OSD_DATA_TYPE_PAGES' undeclared (first use in this function); did you mean 'CEPH_OSD_DATA_TYPE_ITER'? 882 | BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_PAGES); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:77:45: note: in definition of macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ fs/ceph/addr.c:882:17: note: in expansion of macro 'BUG_ON' 882 | BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_PAGES); | ^~~~~~ fs/ceph/addr.c:883:32: error: 'struct ceph_osd_data' has no member named 'length' 883 | len += osd_data->length; | ^~ fs/ceph/addr.c:884:57: error: 'struct ceph_osd_data' has no member named 'offset' 884 | num_pages = calc_pages_for((u64)osd_data->offset, | ^~ fs/ceph/addr.c:885:57: error: 'struct ceph_osd_data' has no member named 'length' 885 | (u64)osd_data->length); | ^~ fs/ceph/addr.c:888:40: error: 'struct ceph_osd_data' has no member named 'pages' 888 | page = osd_data->pages[j]; | ^~ fs/ceph/addr.c:891:66: error: 'struct ceph_osd_data' has no member named 'pages' 891 | fscrypt_free_bounce_page(osd_data->pages[j]); | ^~ fs/ceph/addr.c:892:41: error: 'struct ceph_osd_data' has no member named 'pages' 892 | osd_data->pages[j] = page; | ^~ In file included from include/linux/printk.h:564, from include/linux/kernel.h:30, from include/linux/backing-dev.h:12, from fs/ceph/addr.c:4: fs/ceph/addr.c:913:50: error: 'struct ceph_osd_data' has no member named 'length' 913 | ceph_vinop(inode), osd_data->length, | ^~ include/linux/dynamic_debug.h:222:29: note: in definition of macro '__dynamic_func_call_cls' 222 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/dynamic_debug.h:248:9: note: in expansion of macro '_dynamic_func_call_cls' 248 | _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:267:9: note: in expansion of macro '_dynamic_func_call' 267 | _dynamic_func_call(fmt, __dynamic_pr_debug, \ | ^~~~~~~~~~~~~~~~~~ include/linux/printk.h:579:9: note: in expansion of macro 'dynamic_pr_debug' 579 | dynamic_pr_debug(fmt, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~ include/linux/ceph/ceph_debug.h:23:9: note: in expansion of macro 'pr_debug' 23 | pr_debug("%.*s %12.12s:%-4d : [%pU %lld] " fmt, \ | ^~~~~~~~ fs/ceph/addr.c:912:17: note: in expansion of macro 'doutc' 912 | doutc(cl, "%llx.%llx wrote %llu bytes cleaned %d pages\n", | ^~~~~ fs/ceph/addr.c:916:39: error: 'struct ceph_osd_data' has no member named 'pages' 916 | release_pages(osd_data->pages, num_pages); | ^~ >> fs/ceph/addr.c:925:21: error: 'struct ceph_osd_data' has no member named 'pages_from_pool' 925 | if (osd_data->pages_from_pool) | ^~ fs/ceph/addr.c:926:38: error: 'struct ceph_osd_data' has no member named 'pages' 926 | mempool_free(osd_data->pages, ceph_wb_pagevec_pool); | ^~ fs/ceph/addr.c:928:31: error: 'struct ceph_osd_data' has no member named 'pages' 928 | kfree(osd_data->pages); | ^~ fs/ceph/addr.c: In function '__ceph_pool_perm_get': fs/ceph/addr.c:2116:9: error: implicit declaration of function 'osd_req_op_raw_data_in_pages'; did you mean 'osd_req_op_raw_data_in_databuf'? [-Werror=implicit-function-declaration] 2116 | osd_req_op_raw_data_in_pages(rd_req, 0, pages, PAGE_SIZE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | osd_req_op_raw_data_in_databuf cc1: some warnings being treated as errors vim +272 fs/ceph/addr.c f0702876e152f0 Jeff Layton 2020-06-01 242 f0702876e152f0 Jeff Layton 2020-06-01 243 static void finish_netfs_read(struct ceph_osd_request *req) f0702876e152f0 Jeff Layton 2020-06-01 244 { eb8405d4debe40 Jeff Layton 2023-01-02 245 struct inode *inode = req->r_inode; 8cc5ed1b046309 Xiubo Li 2023-06-12 246 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); a62395e8e6ec3f Xiubo Li 2023-06-12 247 struct ceph_client *cl = fsc->client; f0702876e152f0 Jeff Layton 2020-06-01 248 struct ceph_osd_data *osd_data = osd_req_op_extent_osd_data(req, 0); 6a19114b8e7f1e David Howells 2022-02-17 249 struct netfs_io_subrequest *subreq = req->r_priv; 773e261d0fe08f Jeff Layton 2022-02-26 250 struct ceph_osd_req_op *op = &req->r_ops[0]; f0702876e152f0 Jeff Layton 2020-06-01 251 int err = req->r_result; 773e261d0fe08f Jeff Layton 2022-02-26 252 bool sparse = (op->op == CEPH_OSD_OP_SPARSE_READ); f0702876e152f0 Jeff Layton 2020-06-01 253 8ae99ae2b40766 Xiubo Li 2021-03-22 254 ceph_update_read_metrics(&fsc->mdsc->metric, req->r_start_latency, 903f4fec78dd05 Xiubo Li 2021-05-13 255 req->r_end_latency, osd_data->length, err); f0702876e152f0 Jeff Layton 2020-06-01 256 a62395e8e6ec3f Xiubo Li 2023-06-12 257 doutc(cl, "result %d subreq->len=%zu i_size=%lld\n", req->r_result, f0702876e152f0 Jeff Layton 2020-06-01 258 subreq->len, i_size_read(req->r_inode)); f0702876e152f0 Jeff Layton 2020-06-01 259 f0702876e152f0 Jeff Layton 2020-06-01 260 /* no object means success but no data */ eb8405d4debe40 Jeff Layton 2023-01-02 261 if (err == -ENOENT) f0702876e152f0 Jeff Layton 2020-06-01 262 err = 0; f0702876e152f0 Jeff Layton 2020-06-01 263 else if (err == -EBLOCKLISTED) f0702876e152f0 Jeff Layton 2020-06-01 264 fsc->blocklisted = true; f0702876e152f0 Jeff Layton 2020-06-01 265 eb8405d4debe40 Jeff Layton 2023-01-02 266 if (err >= 0) { eb8405d4debe40 Jeff Layton 2023-01-02 267 if (sparse && err > 0) eb8405d4debe40 Jeff Layton 2023-01-02 268 err = ceph_sparse_ext_map_end(op); eb8405d4debe40 Jeff Layton 2023-01-02 269 if (err < subreq->len) f0702876e152f0 Jeff Layton 2020-06-01 270 __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); eb8405d4debe40 Jeff Layton 2023-01-02 271 if (IS_ENCRYPTED(inode) && err > 0) { eb8405d4debe40 Jeff Layton 2023-01-02 @272 err = ceph_fscrypt_decrypt_extents(inode, osd_data->pages, eb8405d4debe40 Jeff Layton 2023-01-02 273 subreq->start, op->extent.sparse_ext, eb8405d4debe40 Jeff Layton 2023-01-02 274 op->extent.sparse_ext_cnt); eb8405d4debe40 Jeff Layton 2023-01-02 275 if (err > subreq->len) eb8405d4debe40 Jeff Layton 2023-01-02 276 err = subreq->len; eb8405d4debe40 Jeff Layton 2023-01-02 277 } eb8405d4debe40 Jeff Layton 2023-01-02 278 } f0702876e152f0 Jeff Layton 2020-06-01 279 eb8405d4debe40 Jeff Layton 2023-01-02 @280 if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES) { eb8405d4debe40 Jeff Layton 2023-01-02 281 ceph_put_page_vector(osd_data->pages, 1477e5b1f22848 David Howells 2023-04-20 @282 calc_pages_for(osd_data->offset, eb8405d4debe40 Jeff Layton 2023-01-02 283 osd_data->length), false); eb8405d4debe40 Jeff Layton 2023-01-02 284 } 7467b04418d929 Jeff Layton 2022-06-07 285 netfs_subreq_terminated(subreq, err, false); f0702876e152f0 Jeff Layton 2020-06-01 286 iput(req->r_inode); c94d5671d6e1a4 Xiubo Li 2023-05-09 287 ceph_dec_osd_stopping_blocker(fsc->mdsc); f0702876e152f0 Jeff Layton 2020-06-01 288 } f0702876e152f0 Jeff Layton 2020-06-01 289 :::::: The code at line 272 was first introduced by commit :::::: eb8405d4debe4039aae81c72180c54b6843eba67 ceph: add fscrypt decryption support to ceph_netfs_issue_op :::::: TO: Jeff Layton :::::: CC: Xiubo Li -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki