All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
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,
	anuj1072538@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,
	vishak.g@samsung.com
Subject: Re: [PATCH v4 11/11] scsi: add support for user-meta interface
Date: Mon, 21 Oct 2024 21:58:57 -0400	[thread overview]
Message-ID: <yq1sesolxa6.fsf@ca-mkp.ca.oracle.com> (raw)
In-Reply-To: <20241016112912.63542-12-anuj20.g@samsung.com> (Anuj Gupta's message of "Wed, 16 Oct 2024 16:59:12 +0530")


Anuj,

> +/*
> + * 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;
> +}

This breaks reading the partition table.

The BIP_CHECK_* flags should really only control DIX in the SCSI case.
Filling out *PROTECT is left as an exercise for the SCSI disk driver.
It's the only way we can sanely deal with this. Especially given ATO,
GRD_CHK, REF_CHK, and APP_CHK. It just gets too complicated.

You should just drop sd_prot_flags_valid() and things work fine. And
then with BIP_CHECK_* introduced we can drop BIP_CTRL_NOCHECK.

-- 
Martin K. Petersen	Oracle Linux Engineering

  parent reply	other threads:[~2024-10-22  1:59 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20241016113705epcas5p1edc284b347de99bc34802b0b0c5e1b27@epcas5p1.samsung.com>
2024-10-16 11:29 ` [PATCH v4 00/11] Read/Write with meta/integrity Anuj Gupta
2024-10-16 11:29   ` [PATCH v4 01/11] block: define set of integrity flags to be inherited by cloned bip Anuj Gupta
2024-10-16 18:03     ` Keith Busch
2024-10-16 11:29   ` [PATCH v4 02/11] block: copy back bounce buffer to user-space correctly in case of split Anuj Gupta
2024-10-16 18:04     ` Keith Busch
2024-10-17  7:53     ` Christoph Hellwig
2024-10-16 11:29   ` [PATCH v4 03/11] block: modify bio_integrity_map_user to accept iov_iter as argument Anuj Gupta
2024-10-16 11:29   ` [PATCH v4 04/11] block: define meta io descriptor Anuj Gupta
2024-10-16 19:35     ` Keith Busch
2024-10-17  5:49       ` Anuj Gupta
2024-10-17  7:57     ` Christoph Hellwig
2024-10-22  2:11     ` Martin K. Petersen
2024-10-22  6:04       ` Christoph Hellwig
2024-10-23  1:20         ` Martin K. Petersen
2024-10-28  3:46       ` Anuj Gupta
2024-10-16 11:29   ` [PATCH v4 05/11] fs: introduce IOCB_HAS_METADATA for metadata Anuj Gupta
2024-10-17  7:58     ` Christoph Hellwig
2024-10-16 11:29   ` [PATCH v4 06/11] block: add flags for integrity meta Anuj Gupta
2024-10-17  8:00     ` Christoph Hellwig
2024-10-17 10:45       ` Anuj Gupta
2024-10-17 12:01         ` Christoph Hellwig
2024-10-17 12:59           ` Anuj gupta
2024-10-17 14:34             ` Christoph Hellwig
2024-10-16 11:29   ` [PATCH v4 07/11] io_uring/rw: add support to send meta along with read/write Anuj Gupta
2024-10-17  8:10     ` Christoph Hellwig
2024-10-17 22:51       ` Jens Axboe
2024-10-21  5:31       ` Anuj Gupta
2024-10-22  6:02         ` Christoph Hellwig
2024-10-22  1:50       ` Martin K. Petersen
2024-10-16 11:29   ` [PATCH v4 08/11] block: introduce BIP_CHECK_GUARD/REFTAG/APPTAG bip_flags Anuj Gupta
2024-10-17  8:12     ` Christoph Hellwig
2024-10-17 10:46       ` Anuj Gupta
2024-10-17 14:37         ` Christoph Hellwig
2024-10-16 11:29   ` [PATCH v4 09/11] block: add support to pass user meta buffer Anuj Gupta
2024-10-17  8:15     ` Christoph Hellwig
2024-10-17  8:24     ` Christoph Hellwig
2024-10-16 11:29   ` [PATCH v4 10/11] nvme: add support for passing on the application tag Anuj Gupta
2024-10-17  8:14     ` Christoph Hellwig
2024-10-16 11:29   ` [PATCH v4 11/11] scsi: add support for user-meta interface Anuj Gupta
2024-10-17  8:15     ` Christoph Hellwig
2024-10-17 11:39     ` Anuj Gupta
2024-10-17 14:39       ` Christoph Hellwig
2024-10-18  8:26         ` Anuj Gupta
2024-10-18  9:02           ` Christoph Hellwig
2024-10-22  1:58     ` Martin K. Petersen [this message]
2024-10-28  7:36       ` Anuj Gupta
2024-10-29  2:24         ` Martin K. Petersen
2024-10-22  2:04   ` [PATCH v4 00/11] Read/Write with meta/integrity Martin K. Petersen

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=yq1sesolxa6.fsf@ca-mkp.ca.oracle.com \
    --to=martin.petersen@oracle.com \
    --cc=anuj1072538@gmail.com \
    --cc=anuj20.g@samsung.com \
    --cc=asml.silence@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=gost.dev@samsung.com \
    --cc=hch@lst.de \
    --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=vishak.g@samsung.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.