aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiyoshi Ueda <k-ueda@ct.jp.nec.com>2006-12-08 05:41:06 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-08 11:29:09 -0500
commitd2a7ad29a810441e9dacbaddcc2f0c6045390008 (patch)
tree36bea90fa2f286f525a3b4f05adf40ec4d28221c
parent45cbcd798354251b99694086af9d57c99e89bb43 (diff)
[PATCH] dm: map and endio symbolic return codes
Update existing targets to use the new symbols for return values from target map and end_io functions. There is no effect on behaviour. Test results: Done build test without errors. Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com> Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/md/dm-crypt.c2
-rw-r--r--drivers/md/dm-linear.c2
-rw-r--r--drivers/md/dm-mpath.c10
-rw-r--r--drivers/md/dm-raid1.c8
-rw-r--r--drivers/md/dm-snap.c12
-rw-r--r--drivers/md/dm-stripe.c2
-rw-r--r--drivers/md/dm-zero.c2
7 files changed, 19 insertions, 19 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 96152868525b..4c2471ee054a 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -962,7 +962,7 @@ static int crypt_map(struct dm_target *ti, struct bio *bio,
962 atomic_set(&io->pending, 0); 962 atomic_set(&io->pending, 0);
963 kcryptd_queue_io(io); 963 kcryptd_queue_io(io);
964 964
965 return 0; 965 return DM_MAPIO_SUBMITTED;
966} 966}
967 967
968static int crypt_status(struct dm_target *ti, status_type_t type, 968static int crypt_status(struct dm_target *ti, status_type_t type,
diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c
index 4a1cee48e652..17753d80ad22 100644
--- a/drivers/md/dm-linear.c
+++ b/drivers/md/dm-linear.c
@@ -77,7 +77,7 @@ static int linear_map(struct dm_target *ti, struct bio *bio,
77 bio->bi_bdev = lc->dev->bdev; 77 bio->bi_bdev = lc->dev->bdev;
78 bio->bi_sector = lc->start + (bio->bi_sector - ti->begin); 78 bio->bi_sector = lc->start + (bio->bi_sector - ti->begin);
79 79
80 return 1; 80 return DM_MAPIO_REMAPPED;
81} 81}
82 82
83static int linear_status(struct dm_target *ti, status_type_t type, 83static int linear_status(struct dm_target *ti, status_type_t type,
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index dda4109292bc..d325edcbb3f5 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -285,7 +285,7 @@ failed:
285static int map_io(struct multipath *m, struct bio *bio, struct mpath_io *mpio, 285static int map_io(struct multipath *m, struct bio *bio, struct mpath_io *mpio,
286 unsigned was_queued) 286 unsigned was_queued)
287{ 287{
288 int r = 1; 288 int r = DM_MAPIO_REMAPPED;
289 unsigned long flags; 289 unsigned long flags;
290 struct pgpath *pgpath; 290 struct pgpath *pgpath;
291 291
@@ -310,7 +310,7 @@ static int map_io(struct multipath *m, struct bio *bio, struct mpath_io *mpio,
310 !m->queue_io) 310 !m->queue_io)
311 queue_work(kmultipathd, &m->process_queued_ios); 311 queue_work(kmultipathd, &m->process_queued_ios);
312 pgpath = NULL; 312 pgpath = NULL;
313 r = 0; 313 r = DM_MAPIO_SUBMITTED;
314 } else if (!pgpath) 314 } else if (!pgpath)
315 r = -EIO; /* Failed */ 315 r = -EIO; /* Failed */
316 else 316 else
@@ -372,7 +372,7 @@ static void dispatch_queued_ios(struct multipath *m)
372 r = map_io(m, bio, mpio, 1); 372 r = map_io(m, bio, mpio, 1);
373 if (r < 0) 373 if (r < 0)
374 bio_endio(bio, bio->bi_size, r); 374 bio_endio(bio, bio->bi_size, r);
375 else if (r == 1) 375 else if (r == DM_MAPIO_REMAPPED)
376 generic_make_request(bio); 376 generic_make_request(bio);
377 377
378 bio = next; 378 bio = next;
@@ -1042,7 +1042,7 @@ static int do_end_io(struct multipath *m, struct bio *bio,
1042 queue_work(kmultipathd, &m->process_queued_ios); 1042 queue_work(kmultipathd, &m->process_queued_ios);
1043 spin_unlock_irqrestore(&m->lock, flags); 1043 spin_unlock_irqrestore(&m->lock, flags);
1044 1044
1045 return 1; /* io not complete */ 1045 return DM_ENDIO_INCOMPLETE; /* io not complete */
1046} 1046}
1047 1047
1048static int multipath_end_io(struct dm_target *ti, struct bio *bio, 1048static int multipath_end_io(struct dm_target *ti, struct bio *bio,
@@ -1060,7 +1060,7 @@ static int multipath_end_io(struct dm_target *ti, struct bio *bio,
1060 if (ps->type->end_io) 1060 if (ps->type->end_io)
1061 ps->type->end_io(ps, &pgpath->path); 1061 ps->type->end_io(ps, &pgpath->path);
1062 } 1062 }
1063 if (r <= 0) 1063 if (r != DM_ENDIO_INCOMPLETE)
1064 mempool_free(mpio, m->mpio_pool); 1064 mempool_free(mpio, m->mpio_pool);
1065 1065
1066 return r; 1066 return r;
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index fc8cbb168e3e..3b3f4c9c3f09 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -1137,7 +1137,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio,
1137 1137
1138 if (rw == WRITE) { 1138 if (rw == WRITE) {
1139 queue_bio(ms, bio, rw); 1139 queue_bio(ms, bio, rw);
1140 return 0; 1140 return DM_MAPIO_SUBMITTED;
1141 } 1141 }
1142 1142
1143 r = ms->rh.log->type->in_sync(ms->rh.log, 1143 r = ms->rh.log->type->in_sync(ms->rh.log,
@@ -1146,7 +1146,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio,
1146 return r; 1146 return r;
1147 1147
1148 if (r == -EWOULDBLOCK) /* FIXME: ugly */ 1148 if (r == -EWOULDBLOCK) /* FIXME: ugly */
1149 r = 0; 1149 r = DM_MAPIO_SUBMITTED;
1150 1150
1151 /* 1151 /*
1152 * We don't want to fast track a recovery just for a read 1152 * We don't want to fast track a recovery just for a read
@@ -1159,7 +1159,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio,
1159 if (!r) { 1159 if (!r) {
1160 /* Pass this io over to the daemon */ 1160 /* Pass this io over to the daemon */
1161 queue_bio(ms, bio, rw); 1161 queue_bio(ms, bio, rw);
1162 return 0; 1162 return DM_MAPIO_SUBMITTED;
1163 } 1163 }
1164 1164
1165 m = choose_mirror(ms, bio->bi_sector); 1165 m = choose_mirror(ms, bio->bi_sector);
@@ -1167,7 +1167,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio,
1167 return -EIO; 1167 return -EIO;
1168 1168
1169 map_bio(ms, m, bio); 1169 map_bio(ms, m, bio);
1170 return 1; 1170 return DM_MAPIO_REMAPPED;
1171} 1171}
1172 1172
1173static int mirror_end_io(struct dm_target *ti, struct bio *bio, 1173static int mirror_end_io(struct dm_target *ti, struct bio *bio,
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
index b0ce2ce82278..bbf861e4fed1 100644
--- a/drivers/md/dm-snap.c
+++ b/drivers/md/dm-snap.c
@@ -868,7 +868,7 @@ static int snapshot_map(struct dm_target *ti, struct bio *bio,
868{ 868{
869 struct exception *e; 869 struct exception *e;
870 struct dm_snapshot *s = (struct dm_snapshot *) ti->private; 870 struct dm_snapshot *s = (struct dm_snapshot *) ti->private;
871 int r = 1; 871 int r = DM_MAPIO_REMAPPED;
872 chunk_t chunk; 872 chunk_t chunk;
873 struct pending_exception *pe = NULL; 873 struct pending_exception *pe = NULL;
874 874
@@ -914,7 +914,7 @@ static int snapshot_map(struct dm_target *ti, struct bio *bio,
914 remap_exception(s, &pe->e, bio); 914 remap_exception(s, &pe->e, bio);
915 bio_list_add(&pe->snapshot_bios, bio); 915 bio_list_add(&pe->snapshot_bios, bio);
916 916
917 r = 0; 917 r = DM_MAPIO_SUBMITTED;
918 918
919 if (!pe->started) { 919 if (!pe->started) {
920 /* this is protected by snap->lock */ 920 /* this is protected by snap->lock */
@@ -992,7 +992,7 @@ static int snapshot_status(struct dm_target *ti, status_type_t type,
992 *---------------------------------------------------------------*/ 992 *---------------------------------------------------------------*/
993static int __origin_write(struct list_head *snapshots, struct bio *bio) 993static int __origin_write(struct list_head *snapshots, struct bio *bio)
994{ 994{
995 int r = 1, first = 0; 995 int r = DM_MAPIO_REMAPPED, first = 0;
996 struct dm_snapshot *snap; 996 struct dm_snapshot *snap;
997 struct exception *e; 997 struct exception *e;
998 struct pending_exception *pe, *next_pe, *primary_pe = NULL; 998 struct pending_exception *pe, *next_pe, *primary_pe = NULL;
@@ -1050,7 +1050,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)
1050 1050
1051 bio_list_add(&primary_pe->origin_bios, bio); 1051 bio_list_add(&primary_pe->origin_bios, bio);
1052 1052
1053 r = 0; 1053 r = DM_MAPIO_SUBMITTED;
1054 } 1054 }
1055 1055
1056 if (!pe->primary_pe) { 1056 if (!pe->primary_pe) {
@@ -1099,7 +1099,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)
1099static int do_origin(struct dm_dev *origin, struct bio *bio) 1099static int do_origin(struct dm_dev *origin, struct bio *bio)
1100{ 1100{
1101 struct origin *o; 1101 struct origin *o;
1102 int r = 1; 1102 int r = DM_MAPIO_REMAPPED;
1103 1103
1104 down_read(&_origins_lock); 1104 down_read(&_origins_lock);
1105 o = __lookup_origin(origin->bdev); 1105 o = __lookup_origin(origin->bdev);
@@ -1156,7 +1156,7 @@ static int origin_map(struct dm_target *ti, struct bio *bio,
1156 return -EOPNOTSUPP; 1156 return -EOPNOTSUPP;
1157 1157
1158 /* Only tell snapshots if this is a write */ 1158 /* Only tell snapshots if this is a write */
1159 return (bio_rw(bio) == WRITE) ? do_origin(dev, bio) : 1; 1159 return (bio_rw(bio) == WRITE) ? do_origin(dev, bio) : DM_MAPIO_REMAPPED;
1160} 1160}
1161 1161
1162#define min_not_zero(l, r) (l == 0) ? r : ((r == 0) ? l : min(l, r)) 1162#define min_not_zero(l, r) (l == 0) ? r : ((r == 0) ? l : min(l, r))
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c
index 6c29fcecd892..51f5e0760012 100644
--- a/drivers/md/dm-stripe.c
+++ b/drivers/md/dm-stripe.c
@@ -186,7 +186,7 @@ static int stripe_map(struct dm_target *ti, struct bio *bio,
186 bio->bi_bdev = sc->stripe[stripe].dev->bdev; 186 bio->bi_bdev = sc->stripe[stripe].dev->bdev;
187 bio->bi_sector = sc->stripe[stripe].physical_start + 187 bio->bi_sector = sc->stripe[stripe].physical_start +
188 (chunk << sc->chunk_shift) + (offset & sc->chunk_mask); 188 (chunk << sc->chunk_shift) + (offset & sc->chunk_mask);
189 return 1; 189 return DM_MAPIO_REMAPPED;
190} 190}
191 191
192static int stripe_status(struct dm_target *ti, 192static int stripe_status(struct dm_target *ti,
diff --git a/drivers/md/dm-zero.c b/drivers/md/dm-zero.c
index ea569f7348d2..f314d7dc9c26 100644
--- a/drivers/md/dm-zero.c
+++ b/drivers/md/dm-zero.c
@@ -46,7 +46,7 @@ static int zero_map(struct dm_target *ti, struct bio *bio,
46 bio_endio(bio, bio->bi_size, 0); 46 bio_endio(bio, bio->bi_size, 0);
47 47
48 /* accepted bio, don't make new request */ 48 /* accepted bio, don't make new request */
49 return 0; 49 return DM_MAPIO_SUBMITTED;
50} 50}
51 51
52static struct target_type zero_target = { 52static struct target_type zero_target = {