[dm-devel] [PATCH 3/3] Add options to multipathd to turn off queueing

Xose Vazquez Perez xose.vazquez at gmail.com
Tue Apr 25 13:38:38 UTC 2017


On 03/12/2009 07:38 PM, Benjamin Marzinski wrote:
         ^^^^ Old patch.

> Even when the last path of a multipath device is deleted, it can't be
> removed until all the queued IO is flushed. For devices that have
> no_path_retry set to queue, this doesn't automatically happen.
> 
> This patch adds a "flush_on_last_del" config file option, that causes the
> multipath device to automatically turn off queueing when the last path is
> deleted.  It also adds the "disablequeueing" and "restorequeueing"
> multipathd cli commands.
> 
> Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
> [...]
> diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c
> index 43611ff..c1bc591 100644
> --- a/libmultipath/propsel.c
> +++ b/libmultipath/propsel.c
> @@ -279,6 +279,10 @@ select_prio (struct path * pp)
>  extern int
>  select_no_path_retry(struct multipath *mp)
>  {
> +	if (mp->flush_on_last_del == FLUSH_IN_PROGRESS) {
> +		condlog(0, "flush_on_last_del in progress");
                            ^^^^
If flush is done per LUN, it should be added a prefix(WWID or alias).

> +		mp->no_path_retry = NO_PATH_RETRY_FAIL;
> +	}
>  	if (mp->mpe && mp->mpe->no_path_retry != NO_PATH_RETRY_UNDEF) {
>  		mp->no_path_retry = mp->mpe->no_path_retry;
>  		condlog(3, "%s: no_path_retry = %i (multipath setting)",
> @@ -368,3 +372,31 @@ select_pg_timeout(struct multipath *mp)
>  	condlog(3, "pg_timeout = NONE (internal default)");
>  	return 0;
>  }
Thank you.




More information about the dm-devel mailing list