dm mpath: multipath_clone_and_map must not return -EIO
authorChristoph Hellwig <hch@lst.de>
Mon, 15 May 2017 15:28:38 +0000 (17:28 +0200)
committerMike Snitzer <snitzer@redhat.com>
Mon, 15 May 2017 19:09:53 +0000 (15:09 -0400)
Since 412445ac ("dm: introduce a new DM_MAPIO_KILL return value"), the
clone_and_map_rq methods must not return errno values, so fix it up
to properly return DM_MAPIO_KILL, instead of the -EIO value that snuck
in due to a conflict between two patches.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-mpath.c

index d55454f98b59a109bca9f73de1e2a080ea5eab46..3df056b73b6610927a57058394a5bbe08f1b3404 100644 (file)
@@ -481,7 +481,7 @@ static int multipath_clone_and_map(struct dm_target *ti, struct request *rq,
                if (test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags))
                        return DM_MAPIO_DELAY_REQUEUE;
                dm_report_EIO(m);       /* Failed */
-               return -EIO;
+               return DM_MAPIO_KILL;
        } else if (test_bit(MPATHF_QUEUE_IO, &m->flags) ||
                   test_bit(MPATHF_PG_INIT_REQUIRED, &m->flags)) {
                if (pg_init_all_paths(m))