mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-21 00:42:16 +00:00
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;
|
||||
}
|
||||
|
||||
static int dm_flush(struct mapped_device *md)
|
||||
static void dm_flush(struct mapped_device *md)
|
||||
{
|
||||
dm_wait_for_completion(md, TASK_UNINTERRUPTIBLE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
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)) {
|
||||
bio_endio(bio, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
__split_and_process_bio(md, bio);
|
||||
|
||||
error = dm_flush(md);
|
||||
|
||||
if (!error && md->barrier_error)
|
||||
error = md->barrier_error;
|
||||
dm_flush(md);
|
||||
|
||||
if (md->barrier_error != DM_ENDIO_REQUEUE)
|
||||
bio_endio(bio, error);
|
||||
bio_endio(bio, md->barrier_error);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user