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 32/36] fs/ceph/addr.c:272:75: error: 'struct ceph_osd_data' has no member named 'pages'
Date: Wed, 30 Aug 2023 18:28:32 +0800 [thread overview]
Message-ID: <202308301840.EcanqMph-lkp@intel.com> (raw)
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 <lkp@intel.com>
| 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 <jlayton@kernel.org>
:::::: CC: Xiubo Li <xiubli@redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2023-08-30 10:29 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=202308301840.EcanqMph-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.