On 1/13/20 2:58 PM, Matthew Wilcox wrote: > On Mon, Jan 13, 2020 at 06:00:52PM +0000, Chris Mason wrote: >> This is true, I didn't explain that part well ;) Depending on >> compression etc we might end up poking the xarray inside the actual IO >> functions, but the main difference is that btrfs is building a single >> bio. You're moving the plug so you'll merge into single bio, but I'd >> rather build 2MB bios than merge them. > > Why don't we store a bio pointer inside the plug? You're opencoding that, > iomap is opencoding that, and I bet there's a dozen other places where > we pass a bio around. Then blk_finish_plug can submit the bio. Plugs aren't necessarily a bio, they can be callbacks too. -- Jens Axboe