From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC PATCH] nvmet: Fix conventional passthru
Date: Fri, 13 Aug 2021 08:14:55 +0800 [thread overview]
Message-ID: <202108130827.CeZ9KyXM-lkp@intel.com> (raw)
In-Reply-To: <20210812210313.262432-1-a.manzanares@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 6194 bytes --]
Hi Adam,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on linus/master]
[also build test ERROR on v5.14-rc5 next-20210812]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Adam-Manzanares/nvmet-Fix-conventional-passthru/20210813-051456
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f8fbb47c6e86c0b75f8df864db702c3e3f757361
config: microblaze-randconfig-r015-20210809 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/05175480696ae235d783d7a46b5cc1f42a0ad4c6
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Adam-Manzanares/nvmet-Fix-conventional-passthru/20210813-051456
git checkout 05175480696ae235d783d7a46b5cc1f42a0ad4c6
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/nvme/target/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/nvme/target/core.c: In function 'nvmet_alloc_ctrl':
>> drivers/nvme/target/core.c:1369:6: error: #elif with no expression
1369 | #elif
| ^
At top level:
drivers/nvme/target/core.c:1199:13: warning: 'nvmet_init_cap' defined but not used [-Wunused-function]
1199 | static void nvmet_init_cap(struct nvmet_ctrl *ctrl, struct nvme_ctrl *ptctrl)
| ^~~~~~~~~~~~~~
vim +1369 drivers/nvme/target/core.c
1330
1331 u16 nvmet_alloc_ctrl(const char *subsysnqn, const char *hostnqn,
1332 struct nvmet_req *req, u32 kato, struct nvmet_ctrl **ctrlp)
1333 {
1334 struct nvmet_subsys *subsys;
1335 struct nvmet_ctrl *ctrl;
1336 int ret;
1337 u16 status;
1338
1339 status = NVME_SC_CONNECT_INVALID_PARAM | NVME_SC_DNR;
1340 subsys = nvmet_find_get_subsys(req->port, subsysnqn);
1341 if (!subsys) {
1342 pr_warn("connect request for invalid subsystem %s!\n",
1343 subsysnqn);
1344 req->cqe->result.u32 = IPO_IATTR_CONNECT_DATA(subsysnqn);
1345 req->error_loc = offsetof(struct nvme_common_command, dptr);
1346 goto out;
1347 }
1348
1349 down_read(&nvmet_config_sem);
1350 if (!nvmet_host_allowed(subsys, hostnqn)) {
1351 pr_info("connect by host %s for subsystem %s not allowed\n",
1352 hostnqn, subsysnqn);
1353 req->cqe->result.u32 = IPO_IATTR_CONNECT_DATA(hostnqn);
1354 up_read(&nvmet_config_sem);
1355 status = NVME_SC_CONNECT_INVALID_HOST | NVME_SC_DNR;
1356 req->error_loc = offsetof(struct nvme_common_command, dptr);
1357 goto out_put_subsystem;
1358 }
1359 up_read(&nvmet_config_sem);
1360
1361 status = NVME_SC_INTERNAL;
1362 ctrl = kzalloc(sizeof(*ctrl), GFP_KERNEL);
1363 if (!ctrl)
1364 goto out_put_subsystem;
1365 mutex_init(&ctrl->lock);
1366
1367 #ifdef CONFIG_NVME_TARGET_PASSTHRU
1368 nvmet_init_cap(ctrl, subsys->passthru_ctrl);
> 1369 #elif
1370 nvmet_init_cap(ctrl, NULL);
1371 #endif
1372
1373 ctrl->port = req->port;
1374
1375 INIT_WORK(&ctrl->async_event_work, nvmet_async_event_work);
1376 INIT_LIST_HEAD(&ctrl->async_events);
1377 INIT_RADIX_TREE(&ctrl->p2p_ns_map, GFP_KERNEL);
1378 INIT_WORK(&ctrl->fatal_err_work, nvmet_fatal_error_handler);
1379 INIT_DELAYED_WORK(&ctrl->ka_work, nvmet_keep_alive_timer);
1380
1381 memcpy(ctrl->subsysnqn, subsysnqn, NVMF_NQN_SIZE);
1382 memcpy(ctrl->hostnqn, hostnqn, NVMF_NQN_SIZE);
1383
1384 kref_init(&ctrl->ref);
1385 ctrl->subsys = subsys;
1386 WRITE_ONCE(ctrl->aen_enabled, NVMET_AEN_CFG_OPTIONAL);
1387
1388 ctrl->changed_ns_list = kmalloc_array(NVME_MAX_CHANGED_NAMESPACES,
1389 sizeof(__le32), GFP_KERNEL);
1390 if (!ctrl->changed_ns_list)
1391 goto out_free_ctrl;
1392
1393 ctrl->sqs = kcalloc(subsys->max_qid + 1,
1394 sizeof(struct nvmet_sq *),
1395 GFP_KERNEL);
1396 if (!ctrl->sqs)
1397 goto out_free_changed_ns_list;
1398
1399 if (subsys->cntlid_min > subsys->cntlid_max)
1400 goto out_free_sqs;
1401
1402 ret = ida_simple_get(&cntlid_ida,
1403 subsys->cntlid_min, subsys->cntlid_max,
1404 GFP_KERNEL);
1405 if (ret < 0) {
1406 status = NVME_SC_CONNECT_CTRL_BUSY | NVME_SC_DNR;
1407 goto out_free_sqs;
1408 }
1409 ctrl->cntlid = ret;
1410
1411 ctrl->ops = req->ops;
1412
1413 /*
1414 * Discovery controllers may use some arbitrary high value
1415 * in order to cleanup stale discovery sessions
1416 */
1417 if ((ctrl->subsys->type == NVME_NQN_DISC) && !kato)
1418 kato = NVMET_DISC_KATO_MS;
1419
1420 /* keep-alive timeout in seconds */
1421 ctrl->kato = DIV_ROUND_UP(kato, 1000);
1422
1423 ctrl->err_counter = 0;
1424 spin_lock_init(&ctrl->error_lock);
1425
1426 nvmet_start_keep_alive_timer(ctrl);
1427
1428 mutex_lock(&subsys->lock);
1429 list_add_tail(&ctrl->subsys_entry, &subsys->ctrls);
1430 nvmet_setup_p2p_ns_map(ctrl, req);
1431 mutex_unlock(&subsys->lock);
1432
1433 *ctrlp = ctrl;
1434 return 0;
1435
1436 out_free_sqs:
1437 kfree(ctrl->sqs);
1438 out_free_changed_ns_list:
1439 kfree(ctrl->changed_ns_list);
1440 out_free_ctrl:
1441 kfree(ctrl);
1442 out_put_subsystem:
1443 nvmet_subsys_put(subsys);
1444 out:
1445 return status;
1446 }
1447
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35046 bytes --]
next prev parent reply other threads:[~2021-08-13 0:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20210812210404uscas1p19e91deb256e3baf6071788a70e35ab6f@uscas1p1.samsung.com>
2021-08-12 21:04 ` [RFC PATCH] nvmet: Fix conventional passthru Adam Manzanares
2021-08-12 21:04 ` Adam Manzanares
2021-08-13 0:14 ` kernel test robot [this message]
2021-08-13 0:28 ` kernel test robot
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=202108130827.CeZ9KyXM-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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.