From: Christoph Hellwig <hch@lst.de>
To: Anuj Gupta <anuj20.g@samsung.com>
Cc: axboe@kernel.dk, hch@lst.de, kbusch@kernel.org,
martin.petersen@oracle.com, asml.silence@gmail.com,
krisman@suse.de, io-uring@vger.kernel.org,
linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
gost.dev@samsung.com, linux-scsi@vger.kernel.org
Subject: Re: [PATCH v3 10/10] scsi: add support for user-meta interface
Date: Sat, 24 Aug 2024 10:52:45 +0200 [thread overview]
Message-ID: <20240824085245.GI8805@lst.de> (raw)
In-Reply-To: <20240823103811.2421-12-anuj20.g@samsung.com>
> Add support for sending user-meta buffer. Set tags to be checked
> using flags specified by user/block-layer user and underlying DIF/DIX
> configuration. Introduce BLK_INTEGRITY_APP_TAG to specify apptag.
> This provides a way for upper layers to specify apptag checking.
We'll also need that flag for nvme, don't we? It should also be
added in a block layer patch and not as part of a driver patch.
> +/*
> + * Can't check reftag alone or apptag alone
> + */
> +static bool sd_prot_flags_valid(struct scsi_cmnd *scmd)
> +{
> + struct request *rq = scsi_cmd_to_rq(scmd);
> + struct bio *bio = rq->bio;
> +
> + if (bio_integrity_flagged(bio, BIP_CHECK_REFTAG) &&
> + !bio_integrity_flagged(bio, BIP_CHECK_APPTAG))
> + return false;
> + if (!bio_integrity_flagged(bio, BIP_CHECK_REFTAG) &&
> + bio_integrity_flagged(bio, BIP_CHECK_APPTAG))
> + return false;
> + return true;
> +}
We'll need to advertise this limitations to the application or in-kernel
user somehow..
> + if ((bio_integrity_flagged(bio, BIP_CTRL_NOCHECK) == false) &&
> + (!dix || bio_integrity_flagged(bio, BIP_CHECK_REFTAG)))
Incorrect formatting. This is better:
if (!bio_integrity_flagged(bio, BIP_CTRL_NOCHECK) &&
(!dix || bio_integrity_flagged(bio, BIP_CHECK_REFTAG)))
prev parent reply other threads:[~2024-08-24 8:52 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20240823104552epcas5p226dbbbd448cd0ee0955ffdd3ad1b112d@epcas5p2.samsung.com>
2024-08-23 10:38 ` [PATCH v3 00/10] Read/Write with meta/integrity Anuj Gupta
2024-08-23 10:38 ` [PATCH v3 01/10] block: define set of integrity flags to be inherited by cloned bip Anuj Gupta
2024-08-24 8:24 ` Christoph Hellwig
2024-08-29 3:05 ` Martin K. Petersen
2024-08-23 10:38 ` [PATCH v3 02/10] block: introduce a helper to determine metadata bytes from data iter Anuj Gupta
2024-08-24 8:24 ` Christoph Hellwig
2024-08-29 3:06 ` Martin K. Petersen
2024-08-23 10:38 ` [PATCH v3 03/10] block: handle split correctly for user meta bounce buffer Anuj Gupta
2024-08-24 8:31 ` Christoph Hellwig
2024-08-28 11:18 ` Anuj Gupta
2024-08-29 4:04 ` Christoph Hellwig
2024-08-23 10:38 ` [PATCH v3 04/10] block: modify bio_integrity_map_user to accept iov_iter as argument Anuj Gupta
2024-08-23 10:38 ` [PATCH v3 05/10] block: define meta io descriptor Anuj Gupta
2024-08-24 8:31 ` Christoph Hellwig
2024-08-29 3:05 ` Martin K. Petersen
2024-08-23 10:38 ` [PATCH v3 06/10] io_uring/rw: add support to send meta along with read/write Anuj Gupta
2024-08-24 8:33 ` Christoph Hellwig
2024-08-23 10:38 ` [PATCH v3 07/10] block: introduce BIP_CHECK_GUARD/REFTAG/APPTAG bip_flags Anuj Gupta
2024-08-24 8:35 ` Christoph Hellwig
2024-08-28 13:42 ` Kanchan Joshi
2024-08-29 3:16 ` Martin K. Petersen
2024-08-29 4:06 ` Christoph Hellwig
2024-08-29 13:29 ` Anuj gupta
2024-09-12 12:40 ` Anuj Gupta
2024-09-13 2:06 ` Martin K. Petersen
2024-08-29 4:06 ` Christoph Hellwig
2024-08-23 10:38 ` [PATCH v3 07/10] block,nvme: " Anuj Gupta
2024-08-23 10:38 ` [PATCH v3 08/10] block: add support to pass user meta buffer Anuj Gupta
2024-08-24 8:44 ` Christoph Hellwig
2024-08-23 10:38 ` [PATCH v3 09/10] nvme: add handling for app_tag Anuj Gupta
2024-08-24 8:49 ` Christoph Hellwig
2024-08-29 3:00 ` Martin K. Petersen
2024-08-29 10:18 ` Kanchan Joshi
2024-09-13 2:05 ` Martin K. Petersen
2024-08-23 10:38 ` [PATCH v3 10/10] scsi: add support for user-meta interface Anuj Gupta
2024-08-24 8:52 ` Christoph Hellwig [this message]
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=20240824085245.GI8805@lst.de \
--to=hch@lst.de \
--cc=anuj20.g@samsung.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=gost.dev@samsung.com \
--cc=io-uring@vger.kernel.org \
--cc=kbusch@kernel.org \
--cc=krisman@suse.de \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.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
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.