Skip to content
This repository has been archived by the owner on Nov 21, 2022. It is now read-only.

Commit

Permalink
[PATCH] dm: map and endio symbolic return codes
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Kiyoshi Ueda authored and Linus Torvalds committed Dec 8, 2006
1 parent 45cbcd7 commit d2a7ad2
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 19 deletions.
2 changes: 1 addition & 1 deletion drivers/md/dm-crypt.c
Original file line number Diff line number Diff line change
Expand Up @@ -962,7 +962,7 @@ static int crypt_map(struct dm_target *ti, struct bio *bio,
atomic_set(&io->pending, 0);
kcryptd_queue_io(io);

return 0;
return DM_MAPIO_SUBMITTED;
}

static int crypt_status(struct dm_target *ti, status_type_t type,
Expand Down
2 changes: 1 addition & 1 deletion drivers/md/dm-linear.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ static int linear_map(struct dm_target *ti, struct bio *bio,
bio->bi_bdev = lc->dev->bdev;
bio->bi_sector = lc->start + (bio->bi_sector - ti->begin);

return 1;
return DM_MAPIO_REMAPPED;
}

static int linear_status(struct dm_target *ti, status_type_t type,
Expand Down
10 changes: 5 additions & 5 deletions drivers/md/dm-mpath.c
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ static void __choose_pgpath(struct multipath *m)
static int map_io(struct multipath *m, struct bio *bio, struct mpath_io *mpio,
unsigned was_queued)
{
int r = 1;
int r = DM_MAPIO_REMAPPED;
unsigned long flags;
struct pgpath *pgpath;

Expand All @@ -310,7 +310,7 @@ static int map_io(struct multipath *m, struct bio *bio, struct mpath_io *mpio,
!m->queue_io)
queue_work(kmultipathd, &m->process_queued_ios);
pgpath = NULL;
r = 0;
r = DM_MAPIO_SUBMITTED;
} else if (!pgpath)
r = -EIO; /* Failed */
else
Expand Down Expand Up @@ -372,7 +372,7 @@ static void dispatch_queued_ios(struct multipath *m)
r = map_io(m, bio, mpio, 1);
if (r < 0)
bio_endio(bio, bio->bi_size, r);
else if (r == 1)
else if (r == DM_MAPIO_REMAPPED)
generic_make_request(bio);

bio = next;
Expand Down Expand Up @@ -1042,7 +1042,7 @@ static int do_end_io(struct multipath *m, struct bio *bio,
queue_work(kmultipathd, &m->process_queued_ios);
spin_unlock_irqrestore(&m->lock, flags);

return 1; /* io not complete */
return DM_ENDIO_INCOMPLETE; /* io not complete */
}

static int multipath_end_io(struct dm_target *ti, struct bio *bio,
Expand All @@ -1060,7 +1060,7 @@ static int multipath_end_io(struct dm_target *ti, struct bio *bio,
if (ps->type->end_io)
ps->type->end_io(ps, &pgpath->path);
}
if (r <= 0)
if (r != DM_ENDIO_INCOMPLETE)
mempool_free(mpio, m->mpio_pool);

return r;
Expand Down
8 changes: 4 additions & 4 deletions drivers/md/dm-raid1.c
Original file line number Diff line number Diff line change
Expand Up @@ -1137,7 +1137,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio,

if (rw == WRITE) {
queue_bio(ms, bio, rw);
return 0;
return DM_MAPIO_SUBMITTED;
}

r = ms->rh.log->type->in_sync(ms->rh.log,
Expand All @@ -1146,7 +1146,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio,
return r;

if (r == -EWOULDBLOCK) /* FIXME: ugly */
r = 0;
r = DM_MAPIO_SUBMITTED;

/*
* We don't want to fast track a recovery just for a read
Expand All @@ -1159,15 +1159,15 @@ static int mirror_map(struct dm_target *ti, struct bio *bio,
if (!r) {
/* Pass this io over to the daemon */
queue_bio(ms, bio, rw);
return 0;
return DM_MAPIO_SUBMITTED;
}

m = choose_mirror(ms, bio->bi_sector);
if (!m)
return -EIO;

map_bio(ms, m, bio);
return 1;
return DM_MAPIO_REMAPPED;
}

static int mirror_end_io(struct dm_target *ti, struct bio *bio,
Expand Down
12 changes: 6 additions & 6 deletions drivers/md/dm-snap.c
Original file line number Diff line number Diff line change
Expand Up @@ -868,7 +868,7 @@ static int snapshot_map(struct dm_target *ti, struct bio *bio,
{
struct exception *e;
struct dm_snapshot *s = (struct dm_snapshot *) ti->private;
int r = 1;
int r = DM_MAPIO_REMAPPED;
chunk_t chunk;
struct pending_exception *pe = NULL;

Expand Down Expand Up @@ -914,7 +914,7 @@ static int snapshot_map(struct dm_target *ti, struct bio *bio,
remap_exception(s, &pe->e, bio);
bio_list_add(&pe->snapshot_bios, bio);

r = 0;
r = DM_MAPIO_SUBMITTED;

if (!pe->started) {
/* this is protected by snap->lock */
Expand Down Expand Up @@ -992,7 +992,7 @@ static int snapshot_status(struct dm_target *ti, status_type_t type,
*---------------------------------------------------------------*/
static int __origin_write(struct list_head *snapshots, struct bio *bio)
{
int r = 1, first = 0;
int r = DM_MAPIO_REMAPPED, first = 0;
struct dm_snapshot *snap;
struct exception *e;
struct pending_exception *pe, *next_pe, *primary_pe = NULL;
Expand Down Expand Up @@ -1050,7 +1050,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)

bio_list_add(&primary_pe->origin_bios, bio);

r = 0;
r = DM_MAPIO_SUBMITTED;
}

if (!pe->primary_pe) {
Expand Down Expand Up @@ -1099,7 +1099,7 @@ static int __origin_write(struct list_head *snapshots, struct bio *bio)
static int do_origin(struct dm_dev *origin, struct bio *bio)
{
struct origin *o;
int r = 1;
int r = DM_MAPIO_REMAPPED;

down_read(&_origins_lock);
o = __lookup_origin(origin->bdev);
Expand Down Expand Up @@ -1156,7 +1156,7 @@ static int origin_map(struct dm_target *ti, struct bio *bio,
return -EOPNOTSUPP;

/* Only tell snapshots if this is a write */
return (bio_rw(bio) == WRITE) ? do_origin(dev, bio) : 1;
return (bio_rw(bio) == WRITE) ? do_origin(dev, bio) : DM_MAPIO_REMAPPED;
}

#define min_not_zero(l, r) (l == 0) ? r : ((r == 0) ? l : min(l, r))
Expand Down
2 changes: 1 addition & 1 deletion drivers/md/dm-stripe.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ static int stripe_map(struct dm_target *ti, struct bio *bio,
bio->bi_bdev = sc->stripe[stripe].dev->bdev;
bio->bi_sector = sc->stripe[stripe].physical_start +
(chunk << sc->chunk_shift) + (offset & sc->chunk_mask);
return 1;
return DM_MAPIO_REMAPPED;
}

static int stripe_status(struct dm_target *ti,
Expand Down
2 changes: 1 addition & 1 deletion drivers/md/dm-zero.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static int zero_map(struct dm_target *ti, struct bio *bio,
bio_endio(bio, bio->bi_size, 0);

/* accepted bio, don't make new request */
return 0;
return DM_MAPIO_SUBMITTED;
}

static struct target_type zero_target = {
Expand Down

0 comments on commit d2a7ad2

Please sign in to comment.