> + q->bio_split = bioset_create(4, 0); > + if (!q->bio_split) > + goto fail_id; How did we arrive at a mempool size of 4 to make sure we can always make progress with arbitrarily sized bios? Shouldn't we document the design decision somewhere? > +static struct bio *blk_bio_discard_split(struct request_queue *q, > + struct bio *bio, > + struct bio_set *bs) > +{ One fallout of this should be that it would allows us to impement a range UNMAP/TRIP much more easily, which would help dramatically with TRIM performance! -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel