From: kernel test robot <lkp@intel.com>
To: Anuj Gupta <anuj20.g@samsung.com>, Jens Axboe <axboe@kernel.dk>,
Alasdair Kergon <agk@redhat.com>,
Mike Snitzer <snitzer@kernel.org>,
dm-devel@redhat.com, Keith Busch <kbusch@kernel.org>,
Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
James Smart <james.smart@broadcom.com>,
Chaitanya Kulkarni <kch@nvidia.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>
Cc: bvanassche@acm.org, joshi.k@samsung.com,
Nitesh Shetty <nj.shetty@samsung.com>,
gost.dev@samsung.com, anuj20.g@samsung.com,
linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org,
ming.lei@redhat.com, linux-block@vger.kernel.org,
oe-kbuild-all@lists.linux.dev, linux-fsdevel@vger.kernel.org,
damien.lemoal@opensource.wdc.com, nitheshshetty@gmail.com
Subject: Re: [dm-devel] [PATCH v8 6/9] nvmet: add copy command support for bdev and file ns
Date: Thu, 30 Mar 2023 02:36:31 +0800 [thread overview]
Message-ID: <202303300238.vmt9ne37-lkp@intel.com> (raw)
In-Reply-To: <20230327084103.21601-7-anuj20.g@samsung.com>
Hi Anuj,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v6.3-rc4 next-20230329]
[cannot apply to device-mapper-dm/for-next]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Anuj-Gupta/block-Add-copy-offload-support-infrastructure/20230329-162018
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20230327084103.21601-7-anuj20.g%40samsung.com
patch subject: [PATCH v8 6/9] nvmet: add copy command support for bdev and file ns
config: arm64-randconfig-s041-20230329 (https://download.01.org/0day-ci/archive/20230330/202303300238.vmt9ne37-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/f846a8ac40882d9d42532e9e2b43560650ef8510
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Anuj-Gupta/block-Add-copy-offload-support-infrastructure/20230329-162018
git checkout f846a8ac40882d9d42532e9e2b43560650ef8510
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/nvme/target/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303300238.vmt9ne37-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/nvme/target/admin-cmd.c:539:29: sparse: sparse: cast from restricted __le16
vim +539 drivers/nvme/target/admin-cmd.c
490
491 static void nvmet_execute_identify_ns(struct nvmet_req *req)
492 {
493 struct nvme_id_ns *id;
494 u16 status;
495
496 if (le32_to_cpu(req->cmd->identify.nsid) == NVME_NSID_ALL) {
497 req->error_loc = offsetof(struct nvme_identify, nsid);
498 status = NVME_SC_INVALID_NS | NVME_SC_DNR;
499 goto out;
500 }
501
502 id = kzalloc(sizeof(*id), GFP_KERNEL);
503 if (!id) {
504 status = NVME_SC_INTERNAL;
505 goto out;
506 }
507
508 /* return an all zeroed buffer if we can't find an active namespace */
509 status = nvmet_req_find_ns(req);
510 if (status) {
511 status = 0;
512 goto done;
513 }
514
515 if (nvmet_ns_revalidate(req->ns)) {
516 mutex_lock(&req->ns->subsys->lock);
517 nvmet_ns_changed(req->ns->subsys, req->ns->nsid);
518 mutex_unlock(&req->ns->subsys->lock);
519 }
520
521 /*
522 * nuse = ncap = nsze isn't always true, but we have no way to find
523 * that out from the underlying device.
524 */
525 id->ncap = id->nsze =
526 cpu_to_le64(req->ns->size >> req->ns->blksize_shift);
527 switch (req->port->ana_state[req->ns->anagrpid]) {
528 case NVME_ANA_INACCESSIBLE:
529 case NVME_ANA_PERSISTENT_LOSS:
530 break;
531 default:
532 id->nuse = id->nsze;
533 break;
534 }
535
536 if (req->ns->bdev)
537 nvmet_bdev_set_limits(req->ns->bdev, id);
538 else {
> 539 id->msrc = (u8)to0based(BIO_MAX_VECS - 1);
540 id->mssrl = cpu_to_le16(BIO_MAX_VECS <<
541 (PAGE_SHIFT - SECTOR_SHIFT));
542 id->mcl = cpu_to_le32(le16_to_cpu(id->mssrl));
543 }
544
545 /*
546 * We just provide a single LBA format that matches what the
547 * underlying device reports.
548 */
549 id->nlbaf = 0;
550 id->flbas = 0;
551
552 /*
553 * Our namespace might always be shared. Not just with other
554 * controllers, but also with any other user of the block device.
555 */
556 id->nmic = NVME_NS_NMIC_SHARED;
557 id->anagrpid = cpu_to_le32(req->ns->anagrpid);
558
559 memcpy(&id->nguid, &req->ns->nguid, sizeof(id->nguid));
560
561 id->lbaf[0].ds = req->ns->blksize_shift;
562
563 if (req->sq->ctrl->pi_support && nvmet_ns_has_pi(req->ns)) {
564 id->dpc = NVME_NS_DPC_PI_FIRST | NVME_NS_DPC_PI_LAST |
565 NVME_NS_DPC_PI_TYPE1 | NVME_NS_DPC_PI_TYPE2 |
566 NVME_NS_DPC_PI_TYPE3;
567 id->mc = NVME_MC_EXTENDED_LBA;
568 id->dps = req->ns->pi_type;
569 id->flbas = NVME_NS_FLBAS_META_EXT;
570 id->lbaf[0].ms = cpu_to_le16(req->ns->metadata_size);
571 }
572
573 if (req->ns->readonly)
574 id->nsattr |= NVME_NS_ATTR_RO;
575 done:
576 if (!status)
577 status = nvmet_copy_to_sgl(req, 0, id, sizeof(*id));
578
579 kfree(id);
580 out:
581 nvmet_req_complete(req, status);
582 }
583
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Anuj Gupta <anuj20.g@samsung.com>, Jens Axboe <axboe@kernel.dk>,
Alasdair Kergon <agk@redhat.com>,
Mike Snitzer <snitzer@kernel.org>,
dm-devel@redhat.com, Keith Busch <kbusch@kernel.org>,
Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
James Smart <james.smart@broadcom.com>,
Chaitanya Kulkarni <kch@nvidia.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, bvanassche@acm.org, hare@suse.de,
ming.lei@redhat.com, damien.lemoal@opensource.wdc.com,
anuj20.g@samsung.com, joshi.k@samsung.com,
nitheshshetty@gmail.com, gost.dev@samsung.com,
Nitesh Shetty <nj.shetty@samsung.com>,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-nvme@lists.infradead.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v8 6/9] nvmet: add copy command support for bdev and file ns
Date: Thu, 30 Mar 2023 02:36:31 +0800 [thread overview]
Message-ID: <202303300238.vmt9ne37-lkp@intel.com> (raw)
In-Reply-To: <20230327084103.21601-7-anuj20.g@samsung.com>
Hi Anuj,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v6.3-rc4 next-20230329]
[cannot apply to device-mapper-dm/for-next]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Anuj-Gupta/block-Add-copy-offload-support-infrastructure/20230329-162018
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20230327084103.21601-7-anuj20.g%40samsung.com
patch subject: [PATCH v8 6/9] nvmet: add copy command support for bdev and file ns
config: arm64-randconfig-s041-20230329 (https://download.01.org/0day-ci/archive/20230330/202303300238.vmt9ne37-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/f846a8ac40882d9d42532e9e2b43560650ef8510
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Anuj-Gupta/block-Add-copy-offload-support-infrastructure/20230329-162018
git checkout f846a8ac40882d9d42532e9e2b43560650ef8510
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/nvme/target/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303300238.vmt9ne37-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/nvme/target/admin-cmd.c:539:29: sparse: sparse: cast from restricted __le16
vim +539 drivers/nvme/target/admin-cmd.c
490
491 static void nvmet_execute_identify_ns(struct nvmet_req *req)
492 {
493 struct nvme_id_ns *id;
494 u16 status;
495
496 if (le32_to_cpu(req->cmd->identify.nsid) == NVME_NSID_ALL) {
497 req->error_loc = offsetof(struct nvme_identify, nsid);
498 status = NVME_SC_INVALID_NS | NVME_SC_DNR;
499 goto out;
500 }
501
502 id = kzalloc(sizeof(*id), GFP_KERNEL);
503 if (!id) {
504 status = NVME_SC_INTERNAL;
505 goto out;
506 }
507
508 /* return an all zeroed buffer if we can't find an active namespace */
509 status = nvmet_req_find_ns(req);
510 if (status) {
511 status = 0;
512 goto done;
513 }
514
515 if (nvmet_ns_revalidate(req->ns)) {
516 mutex_lock(&req->ns->subsys->lock);
517 nvmet_ns_changed(req->ns->subsys, req->ns->nsid);
518 mutex_unlock(&req->ns->subsys->lock);
519 }
520
521 /*
522 * nuse = ncap = nsze isn't always true, but we have no way to find
523 * that out from the underlying device.
524 */
525 id->ncap = id->nsze =
526 cpu_to_le64(req->ns->size >> req->ns->blksize_shift);
527 switch (req->port->ana_state[req->ns->anagrpid]) {
528 case NVME_ANA_INACCESSIBLE:
529 case NVME_ANA_PERSISTENT_LOSS:
530 break;
531 default:
532 id->nuse = id->nsze;
533 break;
534 }
535
536 if (req->ns->bdev)
537 nvmet_bdev_set_limits(req->ns->bdev, id);
538 else {
> 539 id->msrc = (u8)to0based(BIO_MAX_VECS - 1);
540 id->mssrl = cpu_to_le16(BIO_MAX_VECS <<
541 (PAGE_SHIFT - SECTOR_SHIFT));
542 id->mcl = cpu_to_le32(le16_to_cpu(id->mssrl));
543 }
544
545 /*
546 * We just provide a single LBA format that matches what the
547 * underlying device reports.
548 */
549 id->nlbaf = 0;
550 id->flbas = 0;
551
552 /*
553 * Our namespace might always be shared. Not just with other
554 * controllers, but also with any other user of the block device.
555 */
556 id->nmic = NVME_NS_NMIC_SHARED;
557 id->anagrpid = cpu_to_le32(req->ns->anagrpid);
558
559 memcpy(&id->nguid, &req->ns->nguid, sizeof(id->nguid));
560
561 id->lbaf[0].ds = req->ns->blksize_shift;
562
563 if (req->sq->ctrl->pi_support && nvmet_ns_has_pi(req->ns)) {
564 id->dpc = NVME_NS_DPC_PI_FIRST | NVME_NS_DPC_PI_LAST |
565 NVME_NS_DPC_PI_TYPE1 | NVME_NS_DPC_PI_TYPE2 |
566 NVME_NS_DPC_PI_TYPE3;
567 id->mc = NVME_MC_EXTENDED_LBA;
568 id->dps = req->ns->pi_type;
569 id->flbas = NVME_NS_FLBAS_META_EXT;
570 id->lbaf[0].ms = cpu_to_le16(req->ns->metadata_size);
571 }
572
573 if (req->ns->readonly)
574 id->nsattr |= NVME_NS_ATTR_RO;
575 done:
576 if (!status)
577 status = nvmet_copy_to_sgl(req, 0, id, sizeof(*id));
578
579 kfree(id);
580 out:
581 nvmet_req_complete(req, status);
582 }
583
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-03-29 18:37 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20230327084154epcas5p2a1d8ee728610929fbba8c7757ad3193e@epcas5p2.samsung.com>
2023-03-27 8:40 ` [dm-devel] [PATCH v8 0/9] Implement copy offload support Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-27 8:40 ` [dm-devel] [PATCH v8 1/9] block: Introduce queue limits for copy-offload support Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-29 8:40 ` [dm-devel] " Damien Le Moal
2023-03-29 8:40 ` Damien Le Moal
2023-03-29 10:41 ` [dm-devel] " Nitesh Shetty
2023-03-29 10:41 ` Nitesh Shetty
2023-03-29 12:24 ` [dm-devel] " Damien Le Moal
2023-03-29 12:24 ` Damien Le Moal
2023-03-29 12:34 ` [dm-devel] " Nitesh Shetty
2023-03-29 12:34 ` Nitesh Shetty
2023-03-27 8:40 ` [dm-devel] [PATCH v8 2/9] block: Add copy offload support infrastructure Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-29 8:56 ` [dm-devel] " Damien Le Moal
2023-03-29 8:56 ` Damien Le Moal
2023-03-27 8:40 ` [dm-devel] [PATCH v8 3/9] block: add emulation for copy Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-27 8:40 ` [dm-devel] [PATCH v8 4/9] fs, block: copy_file_range for def_blk_ops for direct block device Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-29 12:14 ` [dm-devel] " Christian Brauner
2023-03-29 12:14 ` Christian Brauner
2023-03-29 12:42 ` [dm-devel] " Nitesh Shetty
2023-03-29 12:42 ` Nitesh Shetty
2023-03-30 5:48 ` [dm-devel] " Christian Brauner
2023-03-30 5:48 ` Christian Brauner
2023-03-30 15:21 ` [dm-devel] " Nitesh Shetty
2023-03-30 15:21 ` Nitesh Shetty
2023-03-29 14:07 ` [dm-devel] " kernel test robot
2023-03-29 14:07 ` kernel test robot
2023-03-29 15:30 ` [dm-devel] " kernel test robot
2023-03-29 15:30 ` kernel test robot
2023-03-27 8:40 ` [dm-devel] [PATCH v8 5/9] nvme: add copy offload support Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-27 8:40 ` [dm-devel] [PATCH v8 6/9] nvmet: add copy command support for bdev and file ns Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-29 13:56 ` [dm-devel] " kernel test robot
2023-03-29 13:56 ` kernel test robot
2023-03-29 18:36 ` kernel test robot [this message]
2023-03-29 18:36 ` kernel test robot
2023-03-27 8:40 ` [dm-devel] [PATCH v8 7/9] dm: Add support for copy offload Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-29 8:59 ` [dm-devel] " Damien Le Moal
2023-03-29 8:59 ` Damien Le Moal
2023-03-29 12:12 ` [dm-devel] " Nitesh Shetty
2023-03-29 12:12 ` Nitesh Shetty
2023-03-27 8:40 ` [dm-devel] [PATCH v8 8/9] dm: Enable copy offload for dm-linear target Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-27 8:40 ` [dm-devel] [PATCH v8 9/9] null_blk: add support for copy offload Anuj Gupta
2023-03-27 8:40 ` Anuj Gupta
2023-03-29 9:04 ` [dm-devel] " Damien Le Moal
2023-03-29 9:04 ` Damien Le Moal
2023-03-29 12:22 ` [dm-devel] " Nitesh Shetty
2023-03-29 12:22 ` Nitesh Shetty
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=202303300238.vmt9ne37-lkp@intel.com \
--to=lkp@intel.com \
--cc=agk@redhat.com \
--cc=anuj20.g@samsung.com \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=bvanassche@acm.org \
--cc=damien.lemoal@opensource.wdc.com \
--cc=dm-devel@redhat.com \
--cc=gost.dev@samsung.com \
--cc=hch@lst.de \
--cc=james.smart@broadcom.com \
--cc=joshi.k@samsung.com \
--cc=kbusch@kernel.org \
--cc=kch@nvidia.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=ming.lei@redhat.com \
--cc=nitheshshetty@gmail.com \
--cc=nj.shetty@samsung.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=sagi@grimberg.me \
--cc=snitzer@kernel.org \
--cc=viro@zeniv.linux.org.uk \
/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.