[dm-devel] [PATCH 2/4] libmultipath: select resize action even if reload is forced

Martin Wilck martin.wilck at suse.com
Wed Feb 1 07:59:48 UTC 2023


On Tue, 2023-01-31 at 13:34 -0600, Benjamin Marzinski wrote:
> The ACT_RESIZE action is the same as the ACT_RELOAD action, except
> that
> it flushes outstanding IO because the device size is changing and
> the new size might be too small for some of the outstanding IO. If
> we've
> detected a size change, and a forced reload is requested, we still
> need
> to flush the IO because the reload will change the device size.
> 
> Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>

Reviewed-by: Martin Wilck <mwilck at suse.com>

> ---
>  libmultipath/configure.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/libmultipath/configure.c b/libmultipath/configure.c
> index 050b984a..6811e661 100644
> --- a/libmultipath/configure.c
> +++ b/libmultipath/configure.c
> @@ -727,11 +727,6 @@ void select_action (struct multipath *mpp, const
> struct _vector *curmp,
>                 return;
>         }
>  
> -       if (force_reload) {
> -               mpp->force_udev_reload = 1;
> -               select_reload_action(mpp, "forced by user");
> -               return;
> -       }
>         if (cmpp->size != mpp->size) {
>                 mpp->force_udev_reload = 1;
>                 mpp->action = ACT_RESIZE;
> @@ -740,6 +735,12 @@ void select_action (struct multipath *mpp, const
> struct _vector *curmp,
>                 return;
>         }
>  
> +       if (force_reload) {
> +               mpp->force_udev_reload = 1;
> +               select_reload_action(mpp, "forced by user");
> +               return;
> +       }
> +
>         if (!is_udev_ready(cmpp) && count_active_paths(mpp) > 0) {
>                 mpp->force_udev_reload = 1;
>                 select_reload_action(mpp, "udev incomplete");



More information about the dm-devel mailing list