From: Christoph Hellwig <hch@lst.de> To: Max Gurtovoy <maxg@mellanox.com> Cc: axboe@kernel.dk, jsmart2021@gmail.com, sagi@grimberg.me, martin.petersen@oracle.com, shlomin@mellanox.com, israelr@mellanox.com, vladimirk@mellanox.com, linux-nvme@lists.infradead.org, idanb@mellanox.com, oren@mellanox.com, kbusch@kernel.org, nitzanc@mellanox.com, hch@lst.de Subject: Re: [PATCH 13/15] nvmet: add metadata/T10-PI support Date: Fri, 1 May 2020 17:58:06 +0200 Message-ID: <20200501155806.GC17680@lst.de> (raw) In-Reply-To: <20200428131135.211521-14-maxg@mellanox.com> > +static ssize_t nvmet_subsys_attr_pi_enable_store(struct config_item *item, > + const char *page, size_t count) > +{ > + struct nvmet_subsys *subsys = to_subsys(item); > + bool pi_enable; > + > + if (strtobool(page, &pi_enable)) > + return -EINVAL; > + > + down_write(&nvmet_config_sem); > + subsys->pi_support = pi_enable; > + up_write(&nvmet_config_sem); No need to take a lock for setting a single scalar value. > + /* > + * If the user requested PI support and the transport isn't pi capable, > + * don't enable the port. > + */ > + if (port->pi_enable && !ops->metadata_support) { > + ret = -EINVAL; In this case it might be worth to print a messag to help with debugging. > + if (ctrl->port->pi_enable) > + ctrl->pi_support = ctrl->subsys->pi_support; I find this a little weird to read due to the mix of styles. Either: if (ctrl->port->pi_enable && ctrl->subsys->pi_support) ctrl->pi_support = true; or ctrl->pi_support = ctrl->port->pi_enable && ctrl->subsys->pi_support; seem ok to be, with a slight preference for the first one. > +static inline u32 nvmet_rw_md_len(struct nvmet_req *req) Please spell out metadata instead of md. > +{ > + return ((u32)le16_to_cpu(req->cmd->rw.length) + 1) * > + req->ns->metadata_size; > +} Also this could probably use another IS_ENABLED to optimize out the code if CONFIG_BLK_DEV_INTEGRITY is not enabled. _______________________________________________ linux-nvme mailing list linux-nvme@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply index Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-28 13:11 [PATCH 00/15 V6] nvme-rdma/nvmet-rdma: Add " Max Gurtovoy 2020-04-28 13:11 ` [PATCH 01/15] nvme: introduce namespace features flag Max Gurtovoy 2020-05-01 13:20 ` Christoph Hellwig 2020-05-01 14:24 ` Christoph Hellwig 2020-05-01 14:33 ` Max Gurtovoy 2020-04-28 13:11 ` [PATCH 02/15] nvme: introduce NVME_NS_METADATA_SUPPORTED flag Max Gurtovoy 2020-05-01 13:20 ` Christoph Hellwig 2020-04-28 13:11 ` [PATCH 03/15] nvme: make nvme_ns_has_pi accessible to transports Max Gurtovoy 2020-05-01 13:20 ` Christoph Hellwig 2020-04-28 13:11 ` [PATCH 04/15] nvme: enforce extended LBA format for fabrics metadata Max Gurtovoy 2020-05-01 13:21 ` Christoph Hellwig 2020-05-01 13:41 ` Christoph Hellwig 2020-04-28 13:11 ` [PATCH 05/15] nvme: introduce max_integrity_segments ctrl attribute Max Gurtovoy 2020-04-28 13:11 ` [PATCH 06/15] nvme: introduce NVME_INLINE_MD_SG_CNT Max Gurtovoy 2020-04-28 13:11 ` [PATCH 07/15] nvme-rdma: introduce nvme_rdma_sgl structure Max Gurtovoy 2020-04-28 13:11 ` [PATCH 08/15] nvme-rdma: add metadata/T10-PI support Max Gurtovoy 2020-05-01 14:26 ` Christoph Hellwig 2020-05-01 15:00 ` Max Gurtovoy 2020-04-28 13:11 ` [PATCH 09/15] nvmet: add metadata characteristics for a namespace Max Gurtovoy 2020-05-01 15:50 ` Christoph Hellwig 2020-04-28 13:11 ` [PATCH 10/15] nvmet: rename nvmet_rw_len to nvmet_rw_data_len Max Gurtovoy 2020-04-28 13:11 ` [PATCH 11/15] nvmet: rename nvmet_check_data_len to nvmet_check_transfer_len Max Gurtovoy 2020-04-28 13:11 ` [PATCH 12/15] nvme: add Metadata Capabilities enumerations Max Gurtovoy 2020-05-01 15:53 ` Christoph Hellwig 2020-05-03 12:43 ` Max Gurtovoy 2020-04-28 13:11 ` [PATCH 13/15] nvmet: add metadata/T10-PI support Max Gurtovoy 2020-05-01 15:58 ` Christoph Hellwig [this message] 2020-05-01 16:19 ` Christoph Hellwig 2020-04-28 13:11 ` [PATCH 14/15] nvmet: add metadata support for block devices Max Gurtovoy 2020-05-01 16:25 ` Christoph Hellwig 2020-04-28 13:11 ` [PATCH 15/15] nvmet-rdma: add metadata/T10-PI support Max Gurtovoy 2020-05-01 16:48 ` Christoph Hellwig 2020-05-03 16:29 ` Max Gurtovoy 2020-05-04 14:08 ` Christoph Hellwig 2020-05-04 14:19 ` Max Gurtovoy -- strict thread matches above, loose matches on Subject: below -- 2020-01-06 13:37 [PATCH 00/15 V3] nvme-rdma/nvmet-rdma: Add " Max Gurtovoy 2020-01-06 13:37 ` [PATCH 13/15] nvmet: " Max Gurtovoy 2020-01-09 3:24 ` Martin K. Petersen 2020-01-27 17:17 ` Max Gurtovoy 2020-01-29 2:32 ` Martin K. Petersen 2020-01-17 16:46 ` James Smart 2020-01-19 13:47 ` Max Gurtovoy 2019-11-05 16:20 [PATCH 00/15] nvme-rdma/nvmet-rdma: " Max Gurtovoy 2019-11-05 16:20 ` [PATCH 13/15] nvmet: " Max Gurtovoy
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=20200501155806.GC17680@lst.de \ --to=hch@lst.de \ --cc=axboe@kernel.dk \ --cc=idanb@mellanox.com \ --cc=israelr@mellanox.com \ --cc=jsmart2021@gmail.com \ --cc=kbusch@kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=martin.petersen@oracle.com \ --cc=maxg@mellanox.com \ --cc=nitzanc@mellanox.com \ --cc=oren@mellanox.com \ --cc=sagi@grimberg.me \ --cc=shlomin@mellanox.com \ --cc=vladimirk@mellanox.com \ /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
Linux-NVME Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-nvme/0 linux-nvme/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-nvme linux-nvme/ https://lore.kernel.org/linux-nvme \ linux-nvme@lists.infradead.org public-inbox-index linux-nvme Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.infradead.lists.linux-nvme AGPL code for this site: git clone https://public-inbox.org/public-inbox.git