dm: change ->end_io calling convention
Turn the error paramter into a pointer so that target drivers can change the value, and make sure only DM_ENDIO_* values are returned from the methods. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
846785e6a5
commit
1be5690984
@@ -358,12 +358,12 @@ map_bio:
|
||||
return DM_MAPIO_REMAPPED;
|
||||
}
|
||||
|
||||
static int flakey_end_io(struct dm_target *ti, struct bio *bio, int error)
|
||||
static int flakey_end_io(struct dm_target *ti, struct bio *bio, int *error)
|
||||
{
|
||||
struct flakey_c *fc = ti->private;
|
||||
struct per_bio_data *pb = dm_per_bio_data(bio, sizeof(struct per_bio_data));
|
||||
|
||||
if (!error && pb->bio_submitted && (bio_data_dir(bio) == READ)) {
|
||||
if (!*error && pb->bio_submitted && (bio_data_dir(bio) == READ)) {
|
||||
if (fc->corrupt_bio_byte && (fc->corrupt_bio_rw == READ) &&
|
||||
all_corrupt_bio_flags_match(bio, fc)) {
|
||||
/*
|
||||
@@ -377,11 +377,11 @@ static int flakey_end_io(struct dm_target *ti, struct bio *bio, int error)
|
||||
* Error read during the down_interval if drop_writes
|
||||
* and error_writes were not configured.
|
||||
*/
|
||||
return -EIO;
|
||||
*error = -EIO;
|
||||
}
|
||||
}
|
||||
|
||||
return error;
|
||||
return DM_ENDIO_DONE;
|
||||
}
|
||||
|
||||
static void flakey_status(struct dm_target *ti, status_type_t type,
|
||||
|
Reference in New Issue
Block a user