aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2015-11-25 16:03:31 -0500
committerMike Snitzer <snitzer@redhat.com>2015-12-10 10:38:56 -0500
commitfe3265b180d6282648f03bc6ac3958c733df01c2 (patch)
treeacf20a7a1efed26556b258a6f6339167bff59202
parent086fbbbda9b743b149b0294e0feec257e2c311d5 (diff)
dm: don't save and restore bi_private
Device mapper used the field bi_private to point to dm_target_io. However, since kernel 3.15, the bi_private field is unused, and so the targets do not need to save and restore this field. This patch removes code that saves and restores bi_private from dm-cache, dm-snapshot and dm-verity. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
-rw-r--r--drivers/md/dm-cache-target.c3
-rw-r--r--drivers/md/dm-snap.c6
-rw-r--r--drivers/md/dm-verity.c5
3 files changed, 2 insertions, 12 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
index 2fd4c8296144..5780accffa30 100644
--- a/drivers/md/dm-cache-target.c
+++ b/drivers/md/dm-cache-target.c
@@ -118,14 +118,12 @@ static void iot_io_end(struct io_tracker *iot, sector_t len)
118 */ 118 */
119struct dm_hook_info { 119struct dm_hook_info {
120 bio_end_io_t *bi_end_io; 120 bio_end_io_t *bi_end_io;
121 void *bi_private;
122}; 121};
123 122
124static void dm_hook_bio(struct dm_hook_info *h, struct bio *bio, 123static void dm_hook_bio(struct dm_hook_info *h, struct bio *bio,
125 bio_end_io_t *bi_end_io, void *bi_private) 124 bio_end_io_t *bi_end_io, void *bi_private)
126{ 125{
127 h->bi_end_io = bio->bi_end_io; 126 h->bi_end_io = bio->bi_end_io;
128 h->bi_private = bio->bi_private;
129 127
130 bio->bi_end_io = bi_end_io; 128 bio->bi_end_io = bi_end_io;
131 bio->bi_private = bi_private; 129 bio->bi_private = bi_private;
@@ -134,7 +132,6 @@ static void dm_hook_bio(struct dm_hook_info *h, struct bio *bio,
134static void dm_unhook_bio(struct dm_hook_info *h, struct bio *bio) 132static void dm_unhook_bio(struct dm_hook_info *h, struct bio *bio)
135{ 133{
136 bio->bi_end_io = h->bi_end_io; 134 bio->bi_end_io = h->bi_end_io;
137 bio->bi_private = h->bi_private;
138} 135}
139 136
140/*----------------------------------------------------------------*/ 137/*----------------------------------------------------------------*/
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
index c06b74e91cd6..f68d0ae5b198 100644
--- a/drivers/md/dm-snap.c
+++ b/drivers/md/dm-snap.c
@@ -207,7 +207,6 @@ struct dm_snap_pending_exception {
207 */ 207 */
208 struct bio *full_bio; 208 struct bio *full_bio;
209 bio_end_io_t *full_bio_end_io; 209 bio_end_io_t *full_bio_end_io;
210 void *full_bio_private;
211}; 210};
212 211
213/* 212/*
@@ -1485,10 +1484,8 @@ out:
1485 snapshot_bios = bio_list_get(&pe->snapshot_bios); 1484 snapshot_bios = bio_list_get(&pe->snapshot_bios);
1486 origin_bios = bio_list_get(&pe->origin_bios); 1485 origin_bios = bio_list_get(&pe->origin_bios);
1487 full_bio = pe->full_bio; 1486 full_bio = pe->full_bio;
1488 if (full_bio) { 1487 if (full_bio)
1489 full_bio->bi_end_io = pe->full_bio_end_io; 1488 full_bio->bi_end_io = pe->full_bio_end_io;
1490 full_bio->bi_private = pe->full_bio_private;
1491 }
1492 increment_pending_exceptions_done_count(); 1489 increment_pending_exceptions_done_count();
1493 1490
1494 up_write(&s->lock); 1491 up_write(&s->lock);
@@ -1605,7 +1602,6 @@ static void start_full_bio(struct dm_snap_pending_exception *pe,
1605 1602
1606 pe->full_bio = bio; 1603 pe->full_bio = bio;
1607 pe->full_bio_end_io = bio->bi_end_io; 1604 pe->full_bio_end_io = bio->bi_end_io;
1608 pe->full_bio_private = bio->bi_private;
1609 1605
1610 callback_data = dm_kcopyd_prepare_callback(s->kcopyd_client, 1606 callback_data = dm_kcopyd_prepare_callback(s->kcopyd_client,
1611 copy_callback, pe); 1607 copy_callback, pe);
diff --git a/drivers/md/dm-verity.c b/drivers/md/dm-verity.c
index ccf41886ebcf..9e8891507c1c 100644
--- a/drivers/md/dm-verity.c
+++ b/drivers/md/dm-verity.c
@@ -83,9 +83,8 @@ struct dm_verity {
83struct dm_verity_io { 83struct dm_verity_io {
84 struct dm_verity *v; 84 struct dm_verity *v;
85 85
86 /* original values of bio->bi_end_io and bio->bi_private */ 86 /* original value of bio->bi_end_io */
87 bio_end_io_t *orig_bi_end_io; 87 bio_end_io_t *orig_bi_end_io;
88 void *orig_bi_private;
89 88
90 sector_t block; 89 sector_t block;
91 unsigned n_blocks; 90 unsigned n_blocks;
@@ -453,7 +452,6 @@ static void verity_finish_io(struct dm_verity_io *io, int error)
453 struct bio *bio = dm_bio_from_per_bio_data(io, v->ti->per_bio_data_size); 452 struct bio *bio = dm_bio_from_per_bio_data(io, v->ti->per_bio_data_size);
454 453
455 bio->bi_end_io = io->orig_bi_end_io; 454 bio->bi_end_io = io->orig_bi_end_io;
456 bio->bi_private = io->orig_bi_private;
457 bio->bi_error = error; 455 bio->bi_error = error;
458 456
459 bio_endio(bio); 457 bio_endio(bio);
@@ -566,7 +564,6 @@ static int verity_map(struct dm_target *ti, struct bio *bio)
566 io = dm_per_bio_data(bio, ti->per_bio_data_size); 564 io = dm_per_bio_data(bio, ti->per_bio_data_size);
567 io->v = v; 565 io->v = v;
568 io->orig_bi_end_io = bio->bi_end_io; 566 io->orig_bi_end_io = bio->bi_end_io;
569 io->orig_bi_private = bio->bi_private;
570 io->block = bio->bi_iter.bi_sector >> (v->data_dev_block_bits - SECTOR_SHIFT); 567 io->block = bio->bi_iter.bi_sector >> (v->data_dev_block_bits - SECTOR_SHIFT);
571 io->n_blocks = bio->bi_iter.bi_size >> v->data_dev_block_bits; 568 io->n_blocks = bio->bi_iter.bi_size >> v->data_dev_block_bits;
572 569