From: "Pankaj Raghav (Samsung)" <pankaj.raghav@linux.dev>
To: Christoph Hellwig <hch@lst.de>
Cc: Carlos Maiolino <cem@kernel.org>,
linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 02/25] iomap: add support for data checksumming
Date: Wed, 11 Nov 2026 12:21:07 +0100 [thread overview]
Message-ID: <avRO_O8jx3zrccGq@quentin> (raw)
In-Reply-To: <20261104085929.317544-3-hch@lst.de>
On Wed, Nov 04, 2026 at 09:57:06AM +0100, Christoph Hellwig wrote:
> Add a new refcounted structure for a data checksum attached to
I don't see any new refcounted structure. Probably the commit message is
stale?
> an iomap_ioend, and helpers to allocate, split and access it.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
>
> /*
> * Flags that if set on either ioend prevent the merge of two ioends.
> @@ -522,14 +529,31 @@ static inline u16 iomap_ioend_flags(const struct iomap *iomap)
> struct iomap_ioend {
> struct list_head io_list; /* next ioend in chain */
> u16 io_flags; /* IOMAP_IOEND_* */
> + u8 io_csum_shift; /* ilog(2) of csum size */
> u32 io_bvec_offset; /* offset into first bvec */
> struct inode *io_inode; /* file being written to */
> size_t io_size; /* size of the extent */
> atomic_t io_remaining; /* completetion defer count */
> int io_error; /* stashed away status */
> - struct iomap_ioend *io_parent; /* parent for completions */
> +
> + /*
> + * There are two kinds of ioend, the original ones submitted by iomap,
> + * and thus split of for I/O size limitations. For the latter,
s/thus split of/those split off
> + * io_parent points to the original ioend. For the original ioends,
> + * the space used by the parent pointer is reused by the checksum
> + * pointer when data checksum are used. Split ioends always point
> + * into the original allocation with their io_csum pointer. As a
> + * special case tiny checksum use the pointer as actual checksum
> + * storage if that fits.
> + */
> + union {
> + struct iomap_ioend *io_parent; /* parent for completions */
> + void *io_csum_alloc; /* original csum allocation. */
> + u8 io_csum_inline[sizeof(void *)];
> + };
> loff_t io_offset; /* offset in the file */
> sector_t io_sector; /* start sector of ioend */
> + void *io_csum; /* data checksum */
> void *io_private; /* file system private data */
> struct fsverity_info *io_vi; /* fsverity info */
> struct bio io_bio; /* MUST BE LAST! */
> @@ -547,6 +571,22 @@ static inline struct iomap_ioend *iomap_ioend_from_bio(struct bio *bio)
> .bi_offset = (_ioend)->io_bvec_offset, \
> }
>
--
Pankaj
next prev parent reply other threads:[~2026-11-11 11:21 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 8:57 support for RT data checksums v2 Christoph Hellwig
2026-11-04 8:57 ` [PATCH 01/25] block: export fs_bio_integrity_verify Christoph Hellwig
2026-11-04 8:57 ` [PATCH 02/25] iomap: add support for data checksumming Christoph Hellwig
2026-11-11 11:21 ` Pankaj Raghav (Samsung) [this message]
2026-11-11 17:38 ` Christoph Hellwig
2026-11-04 8:57 ` [PATCH 03/25] xfs: always call xfs_update_stable_writes in xfs_ioctl_setattr_xflags Christoph Hellwig
2026-11-11 11:11 ` Pankaj Raghav (Samsung)
2026-11-11 17:37 ` Christoph Hellwig
2026-11-04 8:57 ` [PATCH 04/25] xfs: use a separate lockdep class for all rmap inode locks Christoph Hellwig
2026-11-04 8:57 ` [PATCH 05/25] xfs: add a xfs_buf_read_async buffer cache API Christoph Hellwig
2026-11-04 8:57 ` [PATCH 06/25] xfs: add xfs_daddr_to_rgno and xfs_daddr_to_rgbno helpers Christoph Hellwig
2026-11-04 8:57 ` [PATCH 07/25] xfs: prepare xfs_rtfile_initialize_blocks for larger than FSB blocks Christoph Hellwig
2026-11-04 8:57 ` [PATCH 08/25] xfs: relase zi_open_zones_lock over xfs_open_zone_put on unmount Christoph Hellwig
2026-11-04 8:57 ` [PATCH 09/25] xfs: put the open zone outside RCU protection in xfs_get_cached_zone Christoph Hellwig
2026-11-04 8:57 ` [PATCH 10/25] xfs: define the RT data checksum on-disk format Christoph Hellwig
2026-11-04 8:57 ` [PATCH 11/25] xfs: add support for per-RTG csum files Christoph Hellwig
2026-11-04 8:57 ` [PATCH 12/25] xfs: calculate the log reservation for logging data checksum buffers Christoph Hellwig
2026-11-04 8:57 ` [PATCH 13/25] xfs: core RT data checksum support Christoph Hellwig
2026-11-04 8:57 ` [PATCH 14/25] xfs: data checksums require stable writes Christoph Hellwig
2026-11-04 8:57 ` [PATCH 15/25] xfs: require file system block size alignment when using data checksums Christoph Hellwig
2026-11-04 8:57 ` [PATCH 16/25] xfs: add support for reading with " Christoph Hellwig
2026-11-11 11:31 ` Pankaj Raghav (Samsung)
2026-11-11 17:38 ` Christoph Hellwig
2026-11-04 8:57 ` [PATCH 17/25] xfs: add support for writing " Christoph Hellwig
2026-11-04 8:57 ` [PATCH 18/25] xfs: add data checksum support to zoned garbage collection Christoph Hellwig
2026-11-04 8:57 ` [PATCH 19/25] xfs: simplify range tracking in xfs_verify_media Christoph Hellwig
2026-11-04 8:57 ` [PATCH 20/25] xfs: verify data checksums during media verification Christoph Hellwig
2026-11-11 11:57 ` Pankaj Raghav (Samsung)
2026-11-11 17:39 ` Christoph Hellwig
2026-11-04 8:57 ` [PATCH 21/25] xfs: don't try to verify checksums on empty zones Christoph Hellwig
2026-11-04 8:57 ` [PATCH 22/25] xfs: report RT data checksum information via XFS_FSOP_GEOM Christoph Hellwig
2026-11-04 8:57 ` [PATCH 23/25] xfs: add an experimental feature warning for RT data checksums Christoph Hellwig
2026-11-04 8:57 ` [PATCH 24/25] xfs: enable " Christoph Hellwig
2026-11-04 8:57 ` [PATCH 25/25] xfs: add a RT checksum log item 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=avRO_O8jx3zrccGq@quentin \
--to=pankaj.raghav@linux.dev \
--cc=cem@kernel.org \
--cc=hch@lst.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox