[PATCH v3 09/10] nvme: add handling for app_tag
Christoph Hellwig
hch at lst.de
Sat Aug 24 01:49:33 PDT 2024
Maybe name this "add support for passin on the application tag" ?
> +static void nvme_set_app_tag(struct nvme_command *cmnd, u16 apptag)
> +{
> + cmnd->rw.apptag = cpu_to_le16(apptag);
> + /* use 0xfff as mask so that apptag is used in entirety */
> + cmnd->rw.appmask = cpu_to_le16(0xffff);
Can you throw in a patch to rename these field to match the field names
used in the specification? I also don't think the comment is all that
useful.
> +}
> +
> static void nvme_set_ref_tag(struct nvme_ns *ns, struct nvme_command *cmnd,
> struct request *req)
> {
> @@ -1010,6 +1017,11 @@ static inline blk_status_t nvme_setup_rw(struct nvme_ns *ns,
> control |= NVME_RW_APPEND_PIREMAP;
> nvme_set_ref_tag(ns, cmnd, req);
> }
> + if (bio_integrity_flagged(req->bio, BIP_CHECK_APPTAG)) {
> + control |= NVME_RW_PRINFO_PRCHK_APP;
> + nvme_set_app_tag(cmnd,
> + bio_integrity(req->bio)->app_tag);
Passing the request to nvme_set_app_tag would probably be a bit cleaner.
More information about the Linux-nvme
mailing list