mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 08:18:47 +00:00
dm: reduce code duplication in __map_bio
Error path code (for handling DM_MAPIO_REQUEUE and DM_MAPIO_KILL) is effectively identical. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
d41e077ab6
commit
90a2326ede
@ -1180,20 +1180,14 @@ static void __map_bio(struct bio *clone)
|
||||
submit_bio_noacct(clone);
|
||||
break;
|
||||
case DM_MAPIO_KILL:
|
||||
if (unlikely(swap_bios_limit(ti, clone))) {
|
||||
struct mapped_device *md = io->md;
|
||||
up(&md->swap_bios_semaphore);
|
||||
}
|
||||
free_tio(clone);
|
||||
dm_io_dec_pending(io, BLK_STS_IOERR);
|
||||
break;
|
||||
case DM_MAPIO_REQUEUE:
|
||||
if (unlikely(swap_bios_limit(ti, clone))) {
|
||||
struct mapped_device *md = io->md;
|
||||
up(&md->swap_bios_semaphore);
|
||||
}
|
||||
if (unlikely(swap_bios_limit(ti, clone)))
|
||||
up(&io->md->swap_bios_semaphore);
|
||||
free_tio(clone);
|
||||
dm_io_dec_pending(io, BLK_STS_DM_REQUEUE);
|
||||
if (r == DM_MAPIO_KILL)
|
||||
dm_io_dec_pending(io, BLK_STS_IOERR);
|
||||
else
|
||||
dm_io_dec_pending(io, BLK_STS_DM_REQUEUE);
|
||||
break;
|
||||
default:
|
||||
DMWARN("unimplemented target map return value: %d", r);
|
||||
|
Loading…
x
Reference in New Issue
Block a user