All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	Christian Brauner <brauner@kernel.org>,
	Carlos Maiolino <cem@kernel.org>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Anuj Gupta <anuj20.g@samsung.com>,
	Kanchan Joshi <joshi.k@samsung.com>,
	linux-block@vger.kernel.org, nvdimm@lists.linux.dev,
	linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 14/15] iomap: support T10 protection information
Date: Thu, 22 Jan 2026 07:03:19 +0100	[thread overview]
Message-ID: <20260122060319.GC24006@lst.de> (raw)
In-Reply-To: <20260122005936.GR5945@frogsfrogsfrogs>

On Wed, Jan 21, 2026 at 04:59:36PM -0800, Darrick J. Wong wrote:
> On Wed, Jan 21, 2026 at 07:43:22AM +0100, Christoph Hellwig wrote:
> > Add support for generating / verifying protection information in iomap.
> > This is done by hooking into the bio submission and then using the
> > generic PI helpers.  Compared to just using the block layer auto PI
> > this extends the protection envelope and also prepares for eventually
> > passing through PI from userspace at least for direct I/O.
> > 
> > To generate or verify PI, the file system needs to set the
> > IOMAP_F_INTEGRITY flag on the iomap for the request, and ensure the
> > ioends are used for all integrity I/O.  Additionally the file system
> > should defer read I/O completions to user context so that the guard
> 
>   must ?

Well, the copy isn't actually blocking.  So a small copy might actually
work from hardirq context, but you're not going to make friends with
anyone caring about latency.  I guess that means I should upgrade this
to a "must" :)

> >  {
> >  	struct iomap_ioend *ioend = wpc->wb_ctx;
> >  
> > +	if (ioend->io_bio.bi_iter.bi_size >
> > +	    iomap_max_bio_size(&wpc->iomap) - map_len)
> > +		return false;
> >  	if (ioend_flags & IOMAP_IOEND_BOUNDARY)
> >  		return false;
> >  	if ((ioend_flags & IOMAP_IOEND_NOMERGE_FLAGS) !=
> 
> Unrelated question: should iomap_can_add_to_ioend return false if it did
> an IOMAP_F_ANON_WRITE and the bdevs aren't the same, even if the sectors
> match?  Currently not a problem for XFS, but some day we might want to
> have a file that maps to zones on different devices.

For IOMAP_F_ANON_WRITE the bdev doesn't really matter at this level,
as it applies the actual mapping is done below.  So the bdev is really
just a placeholder here.


  reply	other threads:[~2026-01-22  6:03 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-21  6:43 support file system generated / verified integrity information Christoph Hellwig
2026-01-21  6:43 ` [PATCH 01/15] block: factor out a bio_integrity_action helper Christoph Hellwig
2026-01-23  0:01   ` Darrick J. Wong
2026-01-23  6:03     ` Christoph Hellwig
2026-01-23  7:13       ` Darrick J. Wong
2026-01-26  5:03         ` Christoph Hellwig
2026-01-25 19:46   ` Kanchan Joshi
2026-01-27 14:07   ` Martin K. Petersen
2026-01-27 14:55   ` Anuj gupta
2026-01-21  6:43 ` [PATCH 02/15] block: factor out a bio_integrity_setup_default helper Christoph Hellwig
2026-01-23  0:05   ` Darrick J. Wong
2026-01-23  6:08     ` Christoph Hellwig
2026-01-23  7:14       ` Darrick J. Wong
2026-01-25 20:14   ` Kanchan Joshi
2026-01-27 14:08   ` Martin K. Petersen
2026-01-27 14:55   ` Anuj gupta
2026-01-21  6:43 ` [PATCH 03/15] block: add a bdev_has_integrity_csum helper Christoph Hellwig
2026-01-23  0:07   ` Darrick J. Wong
2026-01-26 18:03   ` Kanchan Joshi
2026-01-27 14:08   ` Martin K. Petersen
2026-01-27 14:55   ` Anuj gupta
2026-01-21  6:43 ` [PATCH 04/15] block: prepare generation / verification helpers for fs usage Christoph Hellwig
2026-01-23  0:07   ` Darrick J. Wong
2026-01-26 18:04   ` Kanchan Joshi
2026-01-27 14:09   ` Martin K. Petersen
2026-01-27 14:56   ` Anuj gupta
2026-01-21  6:43 ` [PATCH 05/15] block: make max_integrity_io_size public Christoph Hellwig
2026-01-23  0:08   ` Darrick J. Wong
2026-01-26 18:04   ` Kanchan Joshi
2026-01-27 14:10   ` Martin K. Petersen
2026-01-27 14:56   ` Anuj gupta
2026-01-21  6:43 ` [PATCH 06/15] block: add fs_bio_integrity helpers Christoph Hellwig
2026-01-23  0:11   ` Darrick J. Wong
2026-01-26 18:12   ` Kanchan Joshi
2026-01-27  5:15     ` Christoph Hellwig
2026-01-27 14:12   ` Martin K. Petersen
2026-01-27 14:57   ` Anuj gupta
2026-01-21  6:43 ` [PATCH 07/15] block: pass a maxlen argument to bio_iov_iter_bounce Christoph Hellwig
2026-01-22  1:04   ` Darrick J. Wong
2026-01-22  6:04     ` Christoph Hellwig
2026-01-22 18:02       ` Darrick J. Wong
2026-01-27 14:12   ` Martin K. Petersen
2026-01-27 14:57   ` Anuj gupta
2026-01-21  6:43 ` [PATCH 08/15] iomap: refactor iomap_bio_read_folio_range Christoph Hellwig
2026-01-22  0:42   ` Darrick J. Wong
2026-01-21  6:43 ` [PATCH 09/15] iomap: pass the iomap_iter to ->submit_read Christoph Hellwig
2026-01-22  0:43   ` Darrick J. Wong
2026-01-21  6:43 ` [PATCH 10/15] iomap: only call into ->submit_read when there is a read_ctx Christoph Hellwig
2026-01-22  0:44   ` Darrick J. Wong
2026-01-22  2:44     ` Joanne Koong
2026-01-22  5:59       ` Christoph Hellwig
2026-01-22 18:02         ` Darrick J. Wong
2026-01-21  6:43 ` [PATCH 11/15] iomap: allow file systems to hook into buffered read bio submission Christoph Hellwig
2026-01-22  0:49   ` Darrick J. Wong
2026-01-22  6:01     ` Christoph Hellwig
2026-01-22 18:04       ` Darrick J. Wong
2026-01-21  6:43 ` [PATCH 12/15] iomap: add a bioset pointer to iomap_read_folio_ops Christoph Hellwig
2026-01-22  0:49   ` Darrick J. Wong
2026-01-21  6:43 ` [PATCH 13/15] iomap: support ioends for buffered reads Christoph Hellwig
2026-01-22  0:50   ` Darrick J. Wong
2026-01-21  6:43 ` [PATCH 14/15] iomap: support T10 protection information Christoph Hellwig
2026-01-22  0:59   ` Darrick J. Wong
2026-01-22  6:03     ` Christoph Hellwig [this message]
2026-01-21  6:43 ` [PATCH 15/15] xfs: " Christoph Hellwig
2026-01-22  1:02   ` Darrick J. Wong
2026-01-27 14:54 ` support file system generated / verified integrity information Anuj gupta
2026-01-27 15:16   ` Christoph Hellwig
2026-01-29  9:23     ` Anuj Gupta
  -- strict thread matches above, loose matches on Subject: below --
2026-01-28 16:14 support file system generated / verified integrity information v2 Christoph Hellwig
2026-01-28 16:15 ` [PATCH 14/15] iomap: support T10 protection information Christoph Hellwig
2026-01-28 16:30   ` Darrick J. Wong
2026-02-18  6:11 support file system generated / verified integrity information v3 Christoph Hellwig
2026-02-18  6:12 ` [PATCH 14/15] iomap: support T10 protection information Christoph Hellwig

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=20260122060319.GC24006@lst.de \
    --to=hch@lst.de \
    --cc=anuj20.g@samsung.com \
    --cc=axboe@kernel.dk \
    --cc=brauner@kernel.org \
    --cc=cem@kernel.org \
    --cc=djwong@kernel.org \
    --cc=joshi.k@samsung.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=nvdimm@lists.linux.dev \
    /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.