diff options
| -rw-r--r-- | drivers/md/dm-crypt.c | 5 | ||||
| -rw-r--r-- | drivers/md/dm-delay.c | 5 | ||||
| -rw-r--r-- | drivers/md/dm-flakey.c | 6 | ||||
| -rw-r--r-- | drivers/md/dm-linear.c | 3 | ||||
| -rw-r--r-- | drivers/md/dm-raid.c | 4 | ||||
| -rw-r--r-- | drivers/md/dm-raid1.c | 6 | ||||
| -rw-r--r-- | drivers/md/dm-snap.c | 12 | ||||
| -rw-r--r-- | drivers/md/dm-stripe.c | 6 | ||||
| -rw-r--r-- | drivers/md/dm-target.c | 5 | ||||
| -rw-r--r-- | drivers/md/dm-thin.c | 15 | ||||
| -rw-r--r-- | drivers/md/dm-verity.c | 3 | ||||
| -rw-r--r-- | drivers/md/dm-zero.c | 5 | ||||
| -rw-r--r-- | drivers/md/dm.c | 4 | ||||
| -rw-r--r-- | include/linux/device-mapper.h | 6 |
14 files changed, 31 insertions, 54 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index bbf459bca61d..f7369f9d8595 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c | |||
| @@ -1689,8 +1689,7 @@ bad: | |||
| 1689 | return ret; | 1689 | return ret; |
| 1690 | } | 1690 | } |
| 1691 | 1691 | ||
| 1692 | static int crypt_map(struct dm_target *ti, struct bio *bio, | 1692 | static int crypt_map(struct dm_target *ti, struct bio *bio) |
| 1693 | union map_info *map_context) | ||
| 1694 | { | 1693 | { |
| 1695 | struct dm_crypt_io *io; | 1694 | struct dm_crypt_io *io; |
| 1696 | struct crypt_config *cc = ti->private; | 1695 | struct crypt_config *cc = ti->private; |
| @@ -1846,7 +1845,7 @@ static int crypt_iterate_devices(struct dm_target *ti, | |||
| 1846 | 1845 | ||
| 1847 | static struct target_type crypt_target = { | 1846 | static struct target_type crypt_target = { |
| 1848 | .name = "crypt", | 1847 | .name = "crypt", |
| 1849 | .version = {1, 11, 0}, | 1848 | .version = {1, 12, 0}, |
| 1850 | .module = THIS_MODULE, | 1849 | .module = THIS_MODULE, |
| 1851 | .ctr = crypt_ctr, | 1850 | .ctr = crypt_ctr, |
| 1852 | .dtr = crypt_dtr, | 1851 | .dtr = crypt_dtr, |
diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c index f53846f9ab50..cc1bd048acb2 100644 --- a/drivers/md/dm-delay.c +++ b/drivers/md/dm-delay.c | |||
| @@ -274,8 +274,7 @@ static void delay_resume(struct dm_target *ti) | |||
| 274 | atomic_set(&dc->may_delay, 1); | 274 | atomic_set(&dc->may_delay, 1); |
| 275 | } | 275 | } |
| 276 | 276 | ||
| 277 | static int delay_map(struct dm_target *ti, struct bio *bio, | 277 | static int delay_map(struct dm_target *ti, struct bio *bio) |
| 278 | union map_info *map_context) | ||
| 279 | { | 278 | { |
| 280 | struct delay_c *dc = ti->private; | 279 | struct delay_c *dc = ti->private; |
| 281 | 280 | ||
| @@ -338,7 +337,7 @@ out: | |||
| 338 | 337 | ||
| 339 | static struct target_type delay_target = { | 338 | static struct target_type delay_target = { |
| 340 | .name = "delay", | 339 | .name = "delay", |
| 341 | .version = {1, 1, 0}, | 340 | .version = {1, 2, 0}, |
| 342 | .module = THIS_MODULE, | 341 | .module = THIS_MODULE, |
| 343 | .ctr = delay_ctr, | 342 | .ctr = delay_ctr, |
| 344 | .dtr = delay_dtr, | 343 | .dtr = delay_dtr, |
diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c index 660f98167e7b..9721f2ffb1a2 100644 --- a/drivers/md/dm-flakey.c +++ b/drivers/md/dm-flakey.c | |||
| @@ -270,8 +270,7 @@ static void corrupt_bio_data(struct bio *bio, struct flakey_c *fc) | |||
| 270 | } | 270 | } |
| 271 | } | 271 | } |
| 272 | 272 | ||
| 273 | static int flakey_map(struct dm_target *ti, struct bio *bio, | 273 | static int flakey_map(struct dm_target *ti, struct bio *bio) |
| 274 | union map_info *map_context) | ||
| 275 | { | 274 | { |
| 276 | struct flakey_c *fc = ti->private; | 275 | struct flakey_c *fc = ti->private; |
| 277 | unsigned elapsed; | 276 | unsigned elapsed; |
| @@ -321,8 +320,7 @@ map_bio: | |||
| 321 | return DM_MAPIO_REMAPPED; | 320 | return DM_MAPIO_REMAPPED; |
| 322 | } | 321 | } |
| 323 | 322 | ||
| 324 | static int flakey_end_io(struct dm_target *ti, struct bio *bio, | 323 | static int flakey_end_io(struct dm_target *ti, struct bio *bio, int error) |
| 325 | int error, union map_info *map_context) | ||
| 326 | { | 324 | { |
| 327 | struct flakey_c *fc = ti->private; | 325 | struct flakey_c *fc = ti->private; |
| 328 | struct per_bio_data *pb = dm_per_bio_data(bio, sizeof(struct per_bio_data)); | 326 | struct per_bio_data *pb = dm_per_bio_data(bio, sizeof(struct per_bio_data)); |
diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c index 82222a8cf750..328cad5617ab 100644 --- a/drivers/md/dm-linear.c +++ b/drivers/md/dm-linear.c | |||
| @@ -88,8 +88,7 @@ static void linear_map_bio(struct dm_target *ti, struct bio *bio) | |||
| 88 | bio->bi_sector = linear_map_sector(ti, bio->bi_sector); | 88 | bio->bi_sector = linear_map_sector(ti, bio->bi_sector); |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | static int linear_map(struct dm_target *ti, struct bio *bio, | 91 | static int linear_map(struct dm_target *ti, struct bio *bio) |
| 92 | union map_info *map_context) | ||
| 93 | { | 92 | { |
| 94 | linear_map_bio(ti, bio); | 93 | linear_map_bio(ti, bio); |
| 95 | 94 | ||
diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c index 4a20bf8c72da..3d8984edeff7 100644 --- a/drivers/md/dm-raid.c +++ b/drivers/md/dm-raid.c | |||
| @@ -1218,7 +1218,7 @@ static void raid_dtr(struct dm_target *ti) | |||
| 1218 | context_free(rs); | 1218 | context_free(rs); |
| 1219 | } | 1219 | } |
| 1220 | 1220 | ||
| 1221 | static int raid_map(struct dm_target *ti, struct bio *bio, union map_info *map_context) | 1221 | static int raid_map(struct dm_target *ti, struct bio *bio) |
| 1222 | { | 1222 | { |
| 1223 | struct raid_set *rs = ti->private; | 1223 | struct raid_set *rs = ti->private; |
| 1224 | struct mddev *mddev = &rs->md; | 1224 | struct mddev *mddev = &rs->md; |
| @@ -1432,7 +1432,7 @@ static void raid_resume(struct dm_target *ti) | |||
| 1432 | 1432 | ||
| 1433 | static struct target_type raid_target = { | 1433 | static struct target_type raid_target = { |
| 1434 | .name = "raid", | 1434 | .name = "raid", |
| 1435 | .version = {1, 3, 1}, | 1435 | .version = {1, 4, 0}, |
| 1436 | .module = THIS_MODULE, | 1436 | .module = THIS_MODULE, |
| 1437 | .ctr = raid_ctr, | 1437 | .ctr = raid_ctr, |
| 1438 | .dtr = raid_dtr, | 1438 | .dtr = raid_dtr, |
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c index 57685cf0afa8..fa519185ebba 100644 --- a/drivers/md/dm-raid1.c +++ b/drivers/md/dm-raid1.c | |||
| @@ -1142,8 +1142,7 @@ static void mirror_dtr(struct dm_target *ti) | |||
| 1142 | /* | 1142 | /* |
| 1143 | * Mirror mapping function | 1143 | * Mirror mapping function |
| 1144 | */ | 1144 | */ |
| 1145 | static int mirror_map(struct dm_target *ti, struct bio *bio, | 1145 | static int mirror_map(struct dm_target *ti, struct bio *bio) |
| 1146 | union map_info *map_context) | ||
| 1147 | { | 1146 | { |
| 1148 | int r, rw = bio_rw(bio); | 1147 | int r, rw = bio_rw(bio); |
| 1149 | struct mirror *m; | 1148 | struct mirror *m; |
| @@ -1192,8 +1191,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio, | |||
| 1192 | return DM_MAPIO_REMAPPED; | 1191 | return DM_MAPIO_REMAPPED; |
| 1193 | } | 1192 | } |
| 1194 | 1193 | ||
| 1195 | static int mirror_end_io(struct dm_target *ti, struct bio *bio, | 1194 | static int mirror_end_io(struct dm_target *ti, struct bio *bio, int error) |
| 1196 | int error, union map_info *map_context) | ||
| 1197 | { | 1195 | { |
| 1198 | int rw = bio_rw(bio); | 1196 | int rw = bio_rw(bio); |
| 1199 | struct mirror_set *ms = (struct mirror_set *) ti->private; | 1197 | struct mirror_set *ms = (struct mirror_set *) ti->private; |
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c index e1ecacf2456f..59fc18ae52c2 100644 --- a/drivers/md/dm-snap.c +++ b/drivers/md/dm-snap.c | |||
| @@ -1567,8 +1567,7 @@ static void remap_exception(struct dm_snapshot *s, struct dm_exception *e, | |||
| 1567 | s->store->chunk_mask); | 1567 | s->store->chunk_mask); |
| 1568 | } | 1568 | } |
| 1569 | 1569 | ||
| 1570 | static int snapshot_map(struct dm_target *ti, struct bio *bio, | 1570 | static int snapshot_map(struct dm_target *ti, struct bio *bio) |
| 1571 | union map_info *map_context) | ||
| 1572 | { | 1571 | { |
| 1573 | struct dm_exception *e; | 1572 | struct dm_exception *e; |
| 1574 | struct dm_snapshot *s = ti->private; | 1573 | struct dm_snapshot *s = ti->private; |
| @@ -1683,8 +1682,7 @@ out: | |||
| 1683 | * If merging is currently taking place on the chunk in question, the | 1682 | * If merging is currently taking place on the chunk in question, the |
| 1684 | * I/O is deferred by adding it to s->bios_queued_during_merge. | 1683 | * I/O is deferred by adding it to s->bios_queued_during_merge. |
| 1685 | */ | 1684 | */ |
| 1686 | static int snapshot_merge_map(struct dm_target *ti, struct bio *bio, | 1685 | static int snapshot_merge_map(struct dm_target *ti, struct bio *bio) |
| 1687 | union map_info *map_context) | ||
| 1688 | { | 1686 | { |
| 1689 | struct dm_exception *e; | 1687 | struct dm_exception *e; |
| 1690 | struct dm_snapshot *s = ti->private; | 1688 | struct dm_snapshot *s = ti->private; |
| @@ -1744,8 +1742,7 @@ out_unlock: | |||
| 1744 | return r; | 1742 | return r; |
| 1745 | } | 1743 | } |
| 1746 | 1744 | ||
| 1747 | static int snapshot_end_io(struct dm_target *ti, struct bio *bio, | 1745 | static int snapshot_end_io(struct dm_target *ti, struct bio *bio, int error) |
| 1748 | int error, union map_info *map_context) | ||
| 1749 | { | 1746 | { |
| 1750 | struct dm_snapshot *s = ti->private; | 1747 | struct dm_snapshot *s = ti->private; |
| 1751 | 1748 | ||
| @@ -2119,8 +2116,7 @@ static void origin_dtr(struct dm_target *ti) | |||
| 2119 | dm_put_device(ti, dev); | 2116 | dm_put_device(ti, dev); |
| 2120 | } | 2117 | } |
| 2121 | 2118 | ||
| 2122 | static int origin_map(struct dm_target *ti, struct bio *bio, | 2119 | static int origin_map(struct dm_target *ti, struct bio *bio) |
| 2123 | union map_info *map_context) | ||
| 2124 | { | 2120 | { |
| 2125 | struct dm_dev *dev = ti->private; | 2121 | struct dm_dev *dev = ti->private; |
| 2126 | bio->bi_bdev = dev->bdev; | 2122 | bio->bi_bdev = dev->bdev; |
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index 4e7ba82146c0..6b0e5ea38027 100644 --- a/drivers/md/dm-stripe.c +++ b/drivers/md/dm-stripe.c | |||
| @@ -271,8 +271,7 @@ static int stripe_map_discard(struct stripe_c *sc, struct bio *bio, | |||
| 271 | } | 271 | } |
| 272 | } | 272 | } |
| 273 | 273 | ||
| 274 | static int stripe_map(struct dm_target *ti, struct bio *bio, | 274 | static int stripe_map(struct dm_target *ti, struct bio *bio) |
| 275 | union map_info *map_context) | ||
| 276 | { | 275 | { |
| 277 | struct stripe_c *sc = ti->private; | 276 | struct stripe_c *sc = ti->private; |
| 278 | uint32_t stripe; | 277 | uint32_t stripe; |
| @@ -342,8 +341,7 @@ static int stripe_status(struct dm_target *ti, status_type_t type, | |||
| 342 | return 0; | 341 | return 0; |
| 343 | } | 342 | } |
| 344 | 343 | ||
| 345 | static int stripe_end_io(struct dm_target *ti, struct bio *bio, | 344 | static int stripe_end_io(struct dm_target *ti, struct bio *bio, int error) |
| 346 | int error, union map_info *map_context) | ||
| 347 | { | 345 | { |
| 348 | unsigned i; | 346 | unsigned i; |
| 349 | char major_minor[16]; | 347 | char major_minor[16]; |
diff --git a/drivers/md/dm-target.c b/drivers/md/dm-target.c index 8da366cf381c..617d21a77256 100644 --- a/drivers/md/dm-target.c +++ b/drivers/md/dm-target.c | |||
| @@ -126,15 +126,14 @@ static void io_err_dtr(struct dm_target *tt) | |||
| 126 | /* empty */ | 126 | /* empty */ |
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | static int io_err_map(struct dm_target *tt, struct bio *bio, | 129 | static int io_err_map(struct dm_target *tt, struct bio *bio) |
| 130 | union map_info *map_context) | ||
| 131 | { | 130 | { |
| 132 | return -EIO; | 131 | return -EIO; |
| 133 | } | 132 | } |
| 134 | 133 | ||
| 135 | static struct target_type error_target = { | 134 | static struct target_type error_target = { |
| 136 | .name = "error", | 135 | .name = "error", |
| 137 | .version = {1, 0, 1}, | 136 | .version = {1, 1, 0}, |
| 138 | .ctr = io_err_ctr, | 137 | .ctr = io_err_ctr, |
| 139 | .dtr = io_err_dtr, | 138 | .dtr = io_err_dtr, |
| 140 | .map = io_err_map, | 139 | .map = io_err_map, |
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c index e7743c69a24c..675ae5274016 100644 --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c | |||
| @@ -1371,8 +1371,7 @@ static void thin_hook_bio(struct thin_c *tc, struct bio *bio) | |||
| 1371 | /* | 1371 | /* |
| 1372 | * Non-blocking function called from the thin target's map function. | 1372 | * Non-blocking function called from the thin target's map function. |
| 1373 | */ | 1373 | */ |
| 1374 | static int thin_bio_map(struct dm_target *ti, struct bio *bio, | 1374 | static int thin_bio_map(struct dm_target *ti, struct bio *bio) |
| 1375 | union map_info *map_context) | ||
| 1376 | { | 1375 | { |
| 1377 | int r; | 1376 | int r; |
| 1378 | struct thin_c *tc = ti->private; | 1377 | struct thin_c *tc = ti->private; |
| @@ -1980,8 +1979,7 @@ out_unlock: | |||
| 1980 | return r; | 1979 | return r; |
| 1981 | } | 1980 | } |
| 1982 | 1981 | ||
| 1983 | static int pool_map(struct dm_target *ti, struct bio *bio, | 1982 | static int pool_map(struct dm_target *ti, struct bio *bio) |
| 1984 | union map_info *map_context) | ||
| 1985 | { | 1983 | { |
| 1986 | int r; | 1984 | int r; |
| 1987 | struct pool_c *pt = ti->private; | 1985 | struct pool_c *pt = ti->private; |
| @@ -2626,17 +2624,14 @@ out_unlock: | |||
| 2626 | return r; | 2624 | return r; |
| 2627 | } | 2625 | } |
| 2628 | 2626 | ||
| 2629 | static int thin_map(struct dm_target *ti, struct bio *bio, | 2627 | static int thin_map(struct dm_target *ti, struct bio *bio) |
| 2630 | union map_info *map_context) | ||
| 2631 | { | 2628 | { |
| 2632 | bio->bi_sector = dm_target_offset(ti, bio->bi_sector); | 2629 | bio->bi_sector = dm_target_offset(ti, bio->bi_sector); |
| 2633 | 2630 | ||
| 2634 | return thin_bio_map(ti, bio, map_context); | 2631 | return thin_bio_map(ti, bio); |
| 2635 | } | 2632 | } |
| 2636 | 2633 | ||
| 2637 | static int thin_endio(struct dm_target *ti, | 2634 | static int thin_endio(struct dm_target *ti, struct bio *bio, int err) |
| 2638 | struct bio *bio, int err, | ||
| 2639 | union map_info *map_context) | ||
| 2640 | { | 2635 | { |
| 2641 | unsigned long flags; | 2636 | unsigned long flags; |
| 2642 | struct dm_thin_endio_hook *h = dm_per_bio_data(bio, sizeof(struct dm_thin_endio_hook)); | 2637 | struct dm_thin_endio_hook *h = dm_per_bio_data(bio, sizeof(struct dm_thin_endio_hook)); |
diff --git a/drivers/md/dm-verity.c b/drivers/md/dm-verity.c index 78f349894b24..52cde982164a 100644 --- a/drivers/md/dm-verity.c +++ b/drivers/md/dm-verity.c | |||
| @@ -458,8 +458,7 @@ no_prefetch_cluster: | |||
| 458 | * Bio map function. It allocates dm_verity_io structure and bio vector and | 458 | * Bio map function. It allocates dm_verity_io structure and bio vector and |
| 459 | * fills them. Then it issues prefetches and the I/O. | 459 | * fills them. Then it issues prefetches and the I/O. |
| 460 | */ | 460 | */ |
| 461 | static int verity_map(struct dm_target *ti, struct bio *bio, | 461 | static int verity_map(struct dm_target *ti, struct bio *bio) |
| 462 | union map_info *map_context) | ||
| 463 | { | 462 | { |
| 464 | struct dm_verity *v = ti->private; | 463 | struct dm_verity *v = ti->private; |
| 465 | struct dm_verity_io *io; | 464 | struct dm_verity_io *io; |
diff --git a/drivers/md/dm-zero.c b/drivers/md/dm-zero.c index cc2b3cb81946..69a5c3b3b340 100644 --- a/drivers/md/dm-zero.c +++ b/drivers/md/dm-zero.c | |||
| @@ -33,8 +33,7 @@ static int zero_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
| 33 | /* | 33 | /* |
| 34 | * Return zeros only on reads | 34 | * Return zeros only on reads |
| 35 | */ | 35 | */ |
| 36 | static int zero_map(struct dm_target *ti, struct bio *bio, | 36 | static int zero_map(struct dm_target *ti, struct bio *bio) |
| 37 | union map_info *map_context) | ||
| 38 | { | 37 | { |
| 39 | switch(bio_rw(bio)) { | 38 | switch(bio_rw(bio)) { |
| 40 | case READ: | 39 | case READ: |
| @@ -56,7 +55,7 @@ static int zero_map(struct dm_target *ti, struct bio *bio, | |||
| 56 | 55 | ||
| 57 | static struct target_type zero_target = { | 56 | static struct target_type zero_target = { |
| 58 | .name = "zero", | 57 | .name = "zero", |
| 59 | .version = {1, 0, 0}, | 58 | .version = {1, 1, 0}, |
| 60 | .module = THIS_MODULE, | 59 | .module = THIS_MODULE, |
| 61 | .ctr = zero_ctr, | 60 | .ctr = zero_ctr, |
| 62 | .map = zero_map, | 61 | .map = zero_map, |
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 5ee580b4f330..c72e4d5a9617 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c | |||
| @@ -645,7 +645,7 @@ static void clone_endio(struct bio *bio, int error) | |||
| 645 | error = -EIO; | 645 | error = -EIO; |
| 646 | 646 | ||
| 647 | if (endio) { | 647 | if (endio) { |
| 648 | r = endio(tio->ti, bio, error, &tio->info); | 648 | r = endio(tio->ti, bio, error); |
| 649 | if (r < 0 || r == DM_ENDIO_REQUEUE) | 649 | if (r < 0 || r == DM_ENDIO_REQUEUE) |
| 650 | /* | 650 | /* |
| 651 | * error and requeue request are handled | 651 | * error and requeue request are handled |
| @@ -1004,7 +1004,7 @@ static void __map_bio(struct dm_target *ti, struct dm_target_io *tio) | |||
| 1004 | */ | 1004 | */ |
| 1005 | atomic_inc(&tio->io->io_count); | 1005 | atomic_inc(&tio->io->io_count); |
| 1006 | sector = clone->bi_sector; | 1006 | sector = clone->bi_sector; |
| 1007 | r = ti->type->map(ti, clone, &tio->info); | 1007 | r = ti->type->map(ti, clone); |
| 1008 | if (r == DM_MAPIO_REMAPPED) { | 1008 | if (r == DM_MAPIO_REMAPPED) { |
| 1009 | /* the bio has been remapped so dispatch it */ | 1009 | /* the bio has been remapped so dispatch it */ |
| 1010 | 1010 | ||
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index eb96ef6fd8b7..bf6afa2fc432 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
| @@ -45,8 +45,7 @@ typedef void (*dm_dtr_fn) (struct dm_target *ti); | |||
| 45 | * = 1: simple remap complete | 45 | * = 1: simple remap complete |
| 46 | * = 2: The target wants to push back the io | 46 | * = 2: The target wants to push back the io |
| 47 | */ | 47 | */ |
| 48 | typedef int (*dm_map_fn) (struct dm_target *ti, struct bio *bio, | 48 | typedef int (*dm_map_fn) (struct dm_target *ti, struct bio *bio); |
| 49 | union map_info *map_context); | ||
| 50 | typedef int (*dm_map_request_fn) (struct dm_target *ti, struct request *clone, | 49 | typedef int (*dm_map_request_fn) (struct dm_target *ti, struct request *clone, |
| 51 | union map_info *map_context); | 50 | union map_info *map_context); |
| 52 | 51 | ||
| @@ -59,8 +58,7 @@ typedef int (*dm_map_request_fn) (struct dm_target *ti, struct request *clone, | |||
| 59 | * 2 : The target wants to push back the io | 58 | * 2 : The target wants to push back the io |
| 60 | */ | 59 | */ |
| 61 | typedef int (*dm_endio_fn) (struct dm_target *ti, | 60 | typedef int (*dm_endio_fn) (struct dm_target *ti, |
| 62 | struct bio *bio, int error, | 61 | struct bio *bio, int error); |
| 63 | union map_info *map_context); | ||
| 64 | typedef int (*dm_request_endio_fn) (struct dm_target *ti, | 62 | typedef int (*dm_request_endio_fn) (struct dm_target *ti, |
| 65 | struct request *clone, int error, | 63 | struct request *clone, int error, |
| 66 | union map_info *map_context); | 64 | union map_info *map_context); |
