Commit 2d10e5e1 authored by David Johnson's avatar David Johnson
Browse files

In Xen clientside, ensure kpartx's async probe found the vnode disk rootdev.

I've seen this take 10-12 seconds on a heavily-loaded vhost.  So now we
wait 60 seconds until we see the rootdev, and if we don't, warn and let
things continue.
parent 8159f057
#!/usr/bin/perl -wT #!/usr/bin/perl -wT
# #
# Copyright (c) 2008-2017 University of Utah and the Flux Group. # Copyright (c) 2008-2018 University of Utah and the Flux Group.
# #
# {{{EMULAB-LICENSE # {{{EMULAB-LICENSE
# #
...@@ -1537,6 +1537,20 @@ okay: ...@@ -1537,6 +1537,20 @@ okay:
print "waiting $mustsleep sec after kpartx call...\n" print "waiting $mustsleep sec after kpartx call...\n"
if ($sleepdebug); if ($sleepdebug);
sleep($mustsleep); sleep($mustsleep);
# Wait for $private->{'rootpartition'} to show up, at least for
# a little while.
my $waittime = 60;
while (--$waittime && ! -e $private->{'rootpartition'}) {
sleep(1);
if ($waittime % 4 == 0) {
TBDebugTimeStamp("still waiting for $private->{'rootpartition'}".
" to appear after kpartx...");
}
}
if (! -e $private->{'rootpartition'}) {
TBDebugTimeStamp("$private->{'rootpartition'} still does not exist,".
" there will be problems!");
}
} }
# #
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment