dm: make dm_flush return void
Make dm_flush return void. The first error during flush is stored in md->barrier_error instead. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
32a926da5a
commit
531fe96364
|
@ -1439,34 +1439,25 @@ static int dm_wait_for_completion(struct mapped_device *md, int interruptible)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dm_flush(struct mapped_device *md)
|
static void dm_flush(struct mapped_device *md)
|
||||||
{
|
{
|
||||||
dm_wait_for_completion(md, TASK_UNINTERRUPTIBLE);
|
dm_wait_for_completion(md, TASK_UNINTERRUPTIBLE);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void process_barrier(struct mapped_device *md, struct bio *bio)
|
static void process_barrier(struct mapped_device *md, struct bio *bio)
|
||||||
{
|
{
|
||||||
int error = dm_flush(md);
|
dm_flush(md);
|
||||||
|
|
||||||
if (unlikely(error)) {
|
|
||||||
bio_endio(bio, error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (bio_empty_barrier(bio)) {
|
if (bio_empty_barrier(bio)) {
|
||||||
bio_endio(bio, 0);
|
bio_endio(bio, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
__split_and_process_bio(md, bio);
|
__split_and_process_bio(md, bio);
|
||||||
|
dm_flush(md);
|
||||||
error = dm_flush(md);
|
|
||||||
|
|
||||||
if (!error && md->barrier_error)
|
|
||||||
error = md->barrier_error;
|
|
||||||
|
|
||||||
if (md->barrier_error != DM_ENDIO_REQUEUE)
|
if (md->barrier_error != DM_ENDIO_REQUEUE)
|
||||||
bio_endio(bio, error);
|
bio_endio(bio, md->barrier_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue