Re: [PATCH 04/10] block: avoid unpinning/freeing the bio_vec incase of cloned bio

Christoph Hellwig
2024-05-02T07:12:27Z

On Wed, May 01, 2024 at 06:32:45PM +0530, Kanchan Joshi wrote:
> Can you please tell what function(s) in bio data path that need this
> conversion?
> To me data path handling seems similar. Each cloned bio will lead to
> some amount of data transfer to pinned user-memory. The same is
> happening for meta transfer here.

Well, everywhere. e.g. for direct I/O everything is just driven from
the fs/direct-io.c and and fs/iomap/direct-io.c code without any
knowledge in the underlying driver if data has been pinned (no bounce
buffering in this case). Or for passthrough I/O none of the underlying
logic knows about the pinning or bounce buffering, everything is handled
in block/blk-map.c.