block: switch bios to blk_status_t
Replace bi_error with a new bi_status to allow for a clear conversion. Note that device mapper overloaded bi_error with a private value, which we'll have to keep arround at least for now and thus propagate to a proper blk_status_t value. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
fc17b6534e
commit
4e4cbee93d
@@ -538,13 +538,13 @@ static int verity_verify_io(struct dm_verity_io *io)
|
||||
/*
|
||||
* End one "io" structure with a given error.
|
||||
*/
|
||||
static void verity_finish_io(struct dm_verity_io *io, int error)
|
||||
static void verity_finish_io(struct dm_verity_io *io, blk_status_t status)
|
||||
{
|
||||
struct dm_verity *v = io->v;
|
||||
struct bio *bio = dm_bio_from_per_bio_data(io, v->ti->per_io_data_size);
|
||||
|
||||
bio->bi_end_io = io->orig_bi_end_io;
|
||||
bio->bi_error = error;
|
||||
bio->bi_status = status;
|
||||
|
||||
verity_fec_finish_io(io);
|
||||
|
||||
@@ -555,15 +555,15 @@ static void verity_work(struct work_struct *w)
|
||||
{
|
||||
struct dm_verity_io *io = container_of(w, struct dm_verity_io, work);
|
||||
|
||||
verity_finish_io(io, verity_verify_io(io));
|
||||
verity_finish_io(io, errno_to_blk_status(verity_verify_io(io)));
|
||||
}
|
||||
|
||||
static void verity_end_io(struct bio *bio)
|
||||
{
|
||||
struct dm_verity_io *io = bio->bi_private;
|
||||
|
||||
if (bio->bi_error && !verity_fec_is_enabled(io->v)) {
|
||||
verity_finish_io(io, bio->bi_error);
|
||||
if (bio->bi_status && !verity_fec_is_enabled(io->v)) {
|
||||
verity_finish_io(io, bio->bi_status);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user