dm zoned: improve error handling in i/o map code
authorDmitry Fomichev <dmitry.fomichev@wdc.com>
Sat, 10 Aug 2019 21:43:10 +0000 (14:43 -0700)
committerMike Snitzer <snitzer@redhat.com>
Thu, 15 Aug 2019 19:57:41 +0000 (15:57 -0400)
commitd7428c50118e739e672656c28d2b26b09375d4e0
treeb27d9ab9a591e46541a8982e18614299113bd5b7
parentb234c6d7a703661b5045c5bf569b7c99d2edbf88
dm zoned: improve error handling in i/o map code

Some errors are ignored in the I/O path during queueing chunks
for processing by chunk works. Since at least these errors are
transient in nature, it should be possible to retry the failed
incoming commands.

The fix -

Errors that can happen while queueing chunks are carried upwards
to the main mapping function and it now returns DM_MAPIO_REQUEUE
for any incoming requests that can not be properly queued.

Error logging/debug messages are added where needed.

Fixes: 3b1a94c88b79 ("dm zoned: drive-managed zoned block device target")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-zoned-target.c