dm thin: fixup for lack of bio_inc_remaining in 4.1
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c index b6b3b82..2086eb6 100644 --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c
@@ -1533,18 +1533,6 @@ pool->process_prepared_discard(m); } -/* - * FIXME: DM local hack to defer parent bios's end_io until we - * _know_ all chained sub range discard bios have completed. - * Will go away once late bio splitting lands upstream! - */ -static inline void __bio_inc_remaining(struct bio *bio) -{ - bio->bi_flags |= (1 << BIO_CHAIN); - smp_mb__before_atomic(); - atomic_inc(&bio->__bi_remaining); -} - static void break_up_discard_bio(struct thin_c *tc, dm_block_t begin, dm_block_t end, struct bio *bio) { @@ -1600,7 +1588,7 @@ * the implicit decrement that occurs via bio_endio() in * process_prepared_discard_{passdown,no_passdown}. */ - __bio_inc_remaining(bio); + atomic_inc(&bio->bi_remaining); if (!dm_deferred_set_add_work(pool->all_io_ds, &m->list)) pool->process_prepared_discard(m);