Re: [PATCH 12/43] xfs: refine the unaligned check for always COW inodes in xfs_file_dio_write

Christoph Hellwig
2024-12-13T05:14:03Z

On Thu, Dec 12, 2024 at 01:44:42PM -0800, Darrick J. Wong wrote:
> On Wed, Dec 11, 2024 at 09:54:37AM +0100, Christoph Hellwig wrote:
> > For always COW inodes we also must check the alignment of each individual
> > iovec segment, as they could end up with different I/Os due to the way
> > bio_iov_iter_get_pages works, and we'd then overwrite an already written
> > block.
>
> I'm not sure why an alwayscow inode now needs to require fsblock-aligned
> segments, seeing as it's been running mostly fine for years.

Because the storage you test always_cow on doesn't actually force
always_cow on you :) I.e. these segmented iovecs can end up overwriting
a block. That's ok if you're on a conventional device, but it will
error out on a sequential write required zoned.