> static void bio_free(struct bio *bio) > { > struct bio_set *bs = bio->bi_pool; > void *p; > > - bio_uninit(bio); > + bio_disassociate_task(bio); As said in the last mail I think there is no point in having this call.. > @@ -294,7 +289,7 @@ void bio_reset(struct bio *bio) > { > unsigned long flags = bio->bi_flags & (~0UL << BIO_RESET_BITS); > > - bio_uninit(bio); > + bio_disassociate_task(bio); .. and this one. And I suspect it would make sense to have all these changes in a single patch.