Re: [PATCH v8 04/10] iomap: don't get an reference on ZERO_PAGE for direct I/O block zeroing

From: John Hubbard
Date: Tue Jan 24 2023 - 02:03:29 EST


On 1/23/23 21:59, Christoph Hellwig wrote:
> On Mon, Jan 23, 2023 at 06:42:28PM -0800, John Hubbard wrote:
>>> @@ -202,7 +202,7 @@ static void iomap_dio_zero(const struct iomap_iter *iter, struct iomap_dio *dio,
>>> bio->bi_private = dio;
>>> bio->bi_end_io = iomap_dio_bio_end_io;
>>> - get_page(page);
>>> + bio_set_flag(bio, BIO_NO_PAGE_REF);
>>
>> ...is it accurate to assume that the entire bio is pointing to the zero
>> page? I recall working through this area earlier last year, and ended up
>> just letting the zero page get pinned, and then unpinning upon release,
>> which is harmless.
>
> Yes, the bio is built 4 lines above what is quoted here, and submitted
> right after it. It only contains the ZERO_PAGE.

OK, yes. All good, then.

thanks,
--
John Hubbard
NVIDIA