[pve-devel] [RFC PATCH] Fixes: #1415 https://bugzilla.proxmox.com/show_bug.cgi?id=1415

Wolfgang Bumiller w.bumiller at proxmox.com
Tue Jun 20 09:23:55 CEST 2017


Please don't use a link as commit message.

On Mon, Jun 19, 2017 at 11:21:09AM +0200, Emmanuel Kasper wrote:
> Wrap the -d test with run_or_get_killed sub this test
> can make pvestatd hang on I/O wait when a nfsd process is stopped
> ---
>  PVE/Storage/Plugin.pm | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm
> index cc4c7e7..3742258 100644
> --- a/PVE/Storage/Plugin.pm
> +++ b/PVE/Storage/Plugin.pm
> @@ -840,8 +840,13 @@ sub activate_storage {
>  
>      die "storage definintion has no path\n" if !$path;
>  
> -    die "unable to activate storage '$storeid' - " .
> -	"directory '$path' does not exist\n" if ! -d $path;
> +    # this path test may hang indefinitely on unresponsive mounts
> +    my $timeout = 2;
> +    if (! PVE::Tools::run_or_get_killed(sub {-d $path}, $timeout)) {
> +	die "unable to activate storage '$storeid' - " .
> +	"directory '$path' does not exist or is unreachable\n";
> +    }
> +
>  
>      return if defined($scfg->{mkdir}) && !$scfg->{mkdir};
>  
> -- 
> 2.11.0




More information about the pve-devel mailing list