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.