[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