[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v6 01/11] hw/block/nvme: Add Commands Supported and Effects l
From: |
Dmitry Fomichev |
Subject: |
RE: [PATCH v6 01/11] hw/block/nvme: Add Commands Supported and Effects log |
Date: |
Mon, 19 Oct 2020 02:01:41 +0000 |
> -----Original Message-----
> From: Keith Busch <kbusch@kernel.org>
> Sent: Tuesday, October 13, 2020 8:51 PM
> To: Dmitry Fomichev <Dmitry.Fomichev@wdc.com>
> Cc: Klaus Jensen <k.jensen@samsung.com>; Kevin Wolf
> <kwolf@redhat.com>; Philippe Mathieu-Daudé <philmd@redhat.com>;
> Maxim Levitsky <mlevitsk@redhat.com>; Fam Zheng <fam@euphon.net>;
> Alistair Francis <Alistair.Francis@wdc.com>; Matias Bjorling
> <Matias.Bjorling@wdc.com>; Niklas Cassel <Niklas.Cassel@wdc.com>;
> Damien Le Moal <Damien.LeMoal@wdc.com>; qemu-block@nongnu.org;
> qemu-devel@nongnu.org
> Subject: Re: [PATCH v6 01/11] hw/block/nvme: Add Commands Supported
> and Effects log
>
> On Wed, Oct 14, 2020 at 06:42:02AM +0900, Dmitry Fomichev wrote:
> > +{
> > + NvmeEffectsLog log = {};
> > + uint32_t *dst_acs = log.acs, *dst_iocs = log.iocs;
> > + uint32_t trans_len;
> > + int i;
> > +
> > + trace_pci_nvme_cmd_supp_and_effects_log_read();
> > +
> > + if (off >= sizeof(log)) {
> > + trace_pci_nvme_err_invalid_effects_log_offset(off);
> > + return NVME_INVALID_FIELD | NVME_DNR;
> > + }
> > +
> > + for (i = 0; i < 256; i++) {
> > + dst_acs[i] = nvme_cse_acs[i];
> > + }
> > +
> > + for (i = 0; i < 256; i++) {
> > + dst_iocs[i] = nvme_cse_iocs_nvm[i];
> > + }
>
> You're just copying the array, so let's do it like this:
>
> memcpy(log.acs, nvme_cse_acs, sizeof(nvme_cse_acs));
> memcpy(log.iocs, nvme_cse_iocs_nvm, sizeof(nvme_cse_iocs_nvm));
>
Sure, this is a lot cleaner.
> I think you also need to check
>
> if (NVME_CC_CSS(n->bar.cc) != NVME_CC_CSS_ADMIN_ONLY)
>
> before copying iocs.
Yes, thanks.
- [PATCH v6 00/11] hw/block/nvme: Support Namespace Types and Zoned Namespace Command Set, Dmitry Fomichev, 2020/10/13
- [PATCH v6 01/11] hw/block/nvme: Add Commands Supported and Effects log, Dmitry Fomichev, 2020/10/13
- [PATCH v6 02/11] hw/block/nvme: Generate namespace UUIDs, Dmitry Fomichev, 2020/10/13
- [PATCH v6 03/11] hw/block/nvme: Add support for Namespace Types, Dmitry Fomichev, 2020/10/13
- [PATCH v6 04/11] hw/block/nvme: Support allocated CNS command variants, Dmitry Fomichev, 2020/10/13
- [PATCH v6 05/11] hw/block/nvme: Support Zoned Namespace Command Set, Dmitry Fomichev, 2020/10/13
- [PATCH v6 06/11] hw/block/nvme: Introduce max active and open zone limits, Dmitry Fomichev, 2020/10/13