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-conven...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
f8fbb47c6e86c0b75f8df864db702c3e3f757361
config: x86_64-randconfig-r014-20210809 (attached as .config)
compiler: clang version 14.0.0 (
https://github.com/llvm/llvm-project
767496d19cb9a1fbba57ff08095faa161998ee36)
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/05175480696ae235d783d7a46b5cc1f42...
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=clang make.cross O=build_dir ARCH=x86_64
SHELL=/bin/bash drivers/nvme/target/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
> drivers/nvme/target/core.c:1369:6: error: expected value in
expression
#elif
^
1 error generated.
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@lists.01.org