Message ID | OF8F7422C1.AAA99072-ON48258049.002567ED-48258049.00258956@zte.com.cn (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Mike Snitzer |
Headers | show |
Merged. Thanks. On Tue, Oct 11, 2016 at 8:50 AM, <tang.junhui@zte.com.cn> wrote: > Please have a review for this patch, any comment will be highly > appreciated. > > > > > 发件人: tang.junhui@zte.com.cn > 收件人: christophe varoqui <christophe.varoqui@free.fr>, > 抄送: dm-devel@redhat.com, zhang.kai16@zte.com.cn, "tang.junhui" < > tang.junhui@zte.com.cn> > 日期: 2016/08/10 16:11 > 主题: [PATCH] multipathd: fail path when path check timeout > ------------------------------ > > > > From: "tang.junhui" <tang.junhui@zte.com.cn> > > path should be failed when path status is PATH_TIMEOUT after check, > otherwise, the valid number of paths in the map would be increased when > the path status is PATH_UP after the next turn check, which would cause > the valid number of paths exceeding the total number of paths in the map. > > Signed-off-by: tang.junhui <tang.junhui@zte.com.cn> > --- > multipathd/main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/multipathd/main.c b/multipathd/main.c > index f5e9a01..01f1e58 100644 > --- a/multipathd/main.c > +++ b/multipathd/main.c > @@ -1585,7 +1585,7 @@ check_path (struct vectors * vecs, struct path * pp, > int ticks) > pp->checkint = conf->checkint; > put_multipath_config(conf); > > - if (newstate == PATH_DOWN || newstate > == PATH_SHAKY) { > + if (newstate == PATH_DOWN || newstate > == PATH_SHAKY || newstate == PATH_TIMEOUT) { > /* > * proactively fail > path in the DM > */ > -- > 2.8.1.windows.1 > > > -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
On Tue, Oct 11, 2016 at 02:50:00PM +0800, tang.junhui@zte.com.cn wrote: > Please have a review for this patch, any comment will be highly > appreciated. This is clearly correct. I suspect that there will be other places where we need to also check for PATH_TIMEOUT, since it is basically the same as PATH_DOWN, except with a different state name. For instance, we only log error messages on repeated checks for (newstate == PATH_DOWN), and we should probably do that for PATH_TIMEOUT as well. There are probably more instances outside of check_path. -Ben > > ������: tang.junhui@zte.com.cn > �ռ���: christophe varoqui <christophe.varoqui@free.fr>, > ����: dm-devel@redhat.com, zhang.kai16@zte.com.cn, "tang.junhui" > <tang.junhui@zte.com.cn> > ����: 2016/08/10 16:11 > ����: [PATCH] multipathd: fail path when path check timeout > > -------------------------------------------------------------------------- > > From: "tang.junhui" <tang.junhui@zte.com.cn> > > path should be failed when path status is PATH_TIMEOUT after check, > otherwise, the valid number of paths in the map would be increased when > the path status is PATH_UP after the next turn check, which would cause > the valid number of paths exceeding the total number of paths in the map. > > Signed-off-by: tang.junhui <tang.junhui@zte.com.cn> > --- > multipathd/main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/multipathd/main.c b/multipathd/main.c > index f5e9a01..01f1e58 100644 > --- a/multipathd/main.c > +++ b/multipathd/main.c > @@ -1585,7 +1585,7 @@ check_path (struct vectors * vecs, struct path * pp, > int ticks) > pp->checkint = conf->checkint; > put_multipath_config(conf); > > - if (newstate == PATH_DOWN || newstate > == PATH_SHAKY) { > + if (newstate == PATH_DOWN || newstate > == PATH_SHAKY || newstate == PATH_TIMEOUT) { > /* > * proactively fail > path in the DM > */ > -- > 2.8.1.windows.1 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
Hello, Ben Thanks for your review, This problem is found by our automatic testing, I will spend more time to correct other similar bugs in the next patch。 Cheers, Tang 发件人: "Benjamin Marzinski" <bmarzins@redhat.com> 收件人: tang.junhui@zte.com.cn, 抄送: dm-devel@redhat.com, zhang.kai16@zte.com.cn, bart.vanassche@sandisk.com 日期: 2016/10/12 11:02 主题: Re: [dm-devel] [PATCH] multipathd: fail path when path check timeout 发件人: dm-devel-bounces@redhat.com On Tue, Oct 11, 2016 at 02:50:00PM +0800, tang.junhui@zte.com.cn wrote: > Please have a review for this patch, any comment will be highly > appreciated. This is clearly correct. I suspect that there will be other places where we need to also check for PATH_TIMEOUT, since it is basically the same as PATH_DOWN, except with a different state name. For instance, we only log error messages on repeated checks for (newstate == PATH_DOWN), and we should probably do that for PATH_TIMEOUT as well. There are probably more instances outside of check_path. -Ben > > ������: tang.junhui@zte.com.cn > �ռ���: christophe varoqui <christophe.varoqui@free.fr>, > ����: dm-devel@redhat.com, zhang.kai16@zte.com.cn, "tang.junhui" > <tang.junhui@zte.com.cn> > ����: 2016/08/10 16:11 > ����: [PATCH] multipathd: fail path when path check timeout > > -------------------------------------------------------------------------- > > From: "tang.junhui" <tang.junhui@zte.com.cn> > > path should be failed when path status is PATH_TIMEOUT after check, > otherwise, the valid number of paths in the map would be increased when > the path status is PATH_UP after the next turn check, which would cause > the valid number of paths exceeding the total number of paths in the map. > > Signed-off-by: tang.junhui <tang.junhui@zte.com.cn> > --- > multipathd/main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/multipathd/main.c b/multipathd/main.c > index f5e9a01..01f1e58 100644 > --- a/multipathd/main.c > +++ b/multipathd/main.c > @@ -1585,7 +1585,7 @@ check_path (struct vectors * vecs, struct path * pp, > int ticks) > pp->checkint = conf->checkint; > put_multipath_config(conf); > > - if (newstate == PATH_DOWN || newstate > == PATH_SHAKY) { > + if (newstate == PATH_DOWN || newstate > == PATH_SHAKY || newstate == PATH_TIMEOUT) { > /* > * proactively fail > path in the DM > */ > -- > 2.8.1.windows.1 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
diff --git a/multipathd/main.c b/multipathd/main.c index f5e9a01..01f1e58 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -1585,7 +1585,7 @@ check_path (struct vectors * vecs, struct path * pp, int ticks) pp->checkint = conf->checkint; put_multipath_config(conf); - if (newstate == PATH_DOWN || newstate == PATH_SHAKY) { + if (newstate == PATH_DOWN || newstate == PATH_SHAKY || newstate == PATH_TIMEOUT) {