libmultipath: fix marginal_paths nr_active check
authorBenjamin Marzinski <bmarzins@redhat.com>
Sat, 30 Mar 2019 06:05:54 +0000 (01:05 -0500)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Thu, 18 Apr 2019 11:03:30 +0000 (13:03 +0200)
Marginal paths are SHAKY, so they don't count towards the number of
active paths. poll_io_err_stat() shouldn't automatically reinstate a
marginal path if there already is an active path.

Reviewed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
libmultipath/io_err_stat.c

index 72aacf3..554b777 100644 (file)
@@ -481,7 +481,7 @@ static int poll_io_err_stat(struct vectors *vecs, struct io_err_stat_path *pp)
                 */
                path->tick = 1;
 
-       } else if (path->mpp && path->mpp->nr_active > 1) {
+       } else if (path->mpp && path->mpp->nr_active > 0) {
                io_err_stat_log(3, "%s: keep failing the dm path %s",
                                path->mpp->alias, path->dev);
                path->io_err_pathfail_cnt = PATH_IO_ERR_WAITING_TO_CHECK;