On Tue, Oct 29 2013 at 4:18pm -0400, Kent Overstreet <kmo@xxxxxxxxxxxxx> wrote: > We need to convert the dm code to the new bvec_iter primitives which > respect bi_bvec_done; they also allow us to drastically simplify dm's > bio splitting code. > > Also kill bio_sector_offset(), dm was the only user and it doesn't make > much sense anymore. > > Signed-off-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> > Cc: Jens Axboe <axboe@xxxxxxxxx> > Cc: Alasdair Kergon <agk@xxxxxxxxxx> > Cc: dm-devel@xxxxxxxxxx > --- > drivers/md/dm-thin.c | 8 ++- > drivers/md/dm.c | 170 ++++++--------------------------------------------- > fs/bio.c | 38 ------------ > include/linux/bio.h | 1 - > 4 files changed, 24 insertions(+), 193 deletions(-) > > diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c > index a654024..1abb4a2 100644 > --- a/drivers/md/dm-thin.c > +++ b/drivers/md/dm-thin.c > @@ -611,8 +611,10 @@ static void cell_defer_no_holder(struct thin_c *tc, struct dm_bio_prison_cell *c > > static void process_prepared_mapping_fail(struct dm_thin_new_mapping *m) > { > - if (m->bio) > + if (m->bio) { > m->bio->bi_end_io = m->saved_bi_end_io; > + atomic_inc(&m->bio->bi_remaining); > + } > cell_error(m->tc->pool, m->cell); > list_del(&m->list); > mempool_free(m, m->tc->pool->mapping_pool); > @@ -626,8 +628,10 @@ static void process_prepared_mapping(struct dm_thin_new_mapping *m) > int r; > > bio = m->bio; > - if (bio) > + if (bio) { > bio->bi_end_io = m->saved_bi_end_io; > + atomic_inc(&bio->bi_remaining); > + } > > if (m->err) { > cell_error(pool, m->cell); But now that I look closer, the above dm-thin.c hunks belong in: [PATCH 19/23] block: Generic bio chaining Seems these changes were mistakenly folded into this 17/23 patch? -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel