On 11/06/2024 04:10, Long Li wrote:
if (need_zeroout) {
- /* zero out from the start of the block to the write offset */
- pad = pos & (fs_block_size - 1);
+ /* zero out from the start of the region to the write offset */
+ pad = pos & (zeroing_size - 1);
if (pad)
iomap_dio_zero(iter, dio, pos - pad, pad);
Hi, John
I've been testing and using your atomic write patch series recently. I noticed
that if zeroing_size is larger than a single page, the length passed to
iomap_dio_zero() could also be larger than a page size. This seems incorrect
because iomap_dio_zero() utilizes ZERO_PAGE(0), which is only a single page
in size.
ok, thanks for the notice.
So
https://lore.kernel.org/linux-xfs/20240607145902.1137853-1-kernel@xxxxxxxxxxxxxxxx/T/#m7ba4ed4f0f0f48be99042703c10b42b72c9fe37c
is changing that same function increase the zero range past PAGE_SIZE.
I'll just need to figure out how to make it support an arbitrary larger
size.
Thanks,
John