On Thu, Mar 18, 2021 at 11:29:50AM +0000, Matthew Wilcox wrote: > On Thu, Mar 18, 2021 at 07:39:22AM +0100, Christoph Hellwig wrote: > > @@ -536,7 +518,7 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, > > b->max_write_zeroes_sectors); > > t->max_zone_append_sectors = min(t->max_zone_append_sectors, > > b->max_zone_append_sectors); > > - t->bounce_pfn = min_not_zero(t->bounce_pfn, b->bounce_pfn); > > + t->bounce = min_not_zero(t->bounce, b->bounce); > > I see how min_not_zero() made sense when it was a pfn. Does it still > make sense now it's an enum? I would have thought it'd now be 'max()', > given the definitions later on. Actually, blk_stack_limits should not look at ->bounce_pfn / ->bounce at all. blk_queue_bounce is only called my blk_mq_submit_bio, and the only stacked blk-mq driver (dm-mpath) does not need bouncing. I'll add a patch to fix this up to the front of the series.