On Mon, Aug 06, 2012 at 03:08:30PM -0700, Kent Overstreet wrote: > @@ -422,7 +409,11 @@ void bio_put(struct bio *bio) > if (atomic_dec_and_test(&bio->bi_cnt)) { > bio_disassociate_task(bio); > bio->bi_next = NULL; > - bio->bi_destructor(bio); > + > + if (bio->bi_pool) > + bio_free(bio, bio->bi_pool); > + else > + bio->bi_destructor(bio); So, this bi_pool overriding caller specified custom bi_destructor is rather unusual. I know why it's like that - the patch series is gradually replacing bi_destructor with bi_pool and removes bi_destructor eventually, but it would be far better if at least patch description says why this is unusual like this. Thanks. -- tejun -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel