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 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.