[dm-devel] [PATCH] multipathd: restore paths after reconfigure
Benjamin Marzinski
bmarzins at redhat.com
Thu Jul 21 17:58:29 UTC 2016
On Thu, Jul 21, 2016 at 09:29:37AM -0700, Bart Van Assche wrote:
> On 07/01/2016 02:46 PM, Benjamin Marzinski wrote:
> >multipathd has code to finish gathering the information of paths that
> >were not active at the time they were discovered. When the checker loop
> >goes to check a path, and notices that it wasn't fully initialized, it
> >is supposed to complete the initialization. However the code is broken.
> >This means that if you reconfigure multipathd while paths are down, they
> >will no longer be usable. This patch makes sure that check_path will
> >actually rerun pathinfo to finish setting up the path, so that after the
> >path comes back up, it will be usable again.
> >[ ... ]
> >@@ -1779,7 +1785,13 @@ checkerloop (void *ap)
> > lock(vecs->lock);
> > pthread_testcancel();
> > vector_foreach_slot (vecs->pathvec, pp, i) {
> >- num_paths += check_path(vecs, pp, ticks);
> >+ rc = check_path(vecs, pp, ticks);
> >+ if (rc < 0) {
> >+ vector_del_slot(vecs->pathvec, i);
> >+ free_path(pp);
> >+ i--;
> >+ } else;
> >+ num_paths += rc;
> > }
> > lock_cleanup_pop(vecs->lock);
> > }
>
> Hi Ben,
>
> Was the semicolon after the "else" intended or was it a typo?
Oops! That was a typo. I'll send off a quick patch. Thanks for catching
that.
-Ben
>
> Thanks,
>
> Bart.
More information about the dm-devel
mailing list