chiark / gitweb /
Honor 'hostname localhost' properly in volume availability check.
authorRichard Kettlewell <rjk@terraraq.org.uk>
Sat, 24 Nov 2012 11:23:59 +0000 (11:23 +0000)
committerRichard Kettlewell <rjk@terraraq.org.uk>
Sat, 24 Nov 2012 11:23:59 +0000 (11:23 +0000)
(It's not supposed to 'ssh localhost'.)

src/Volume.cc

index c77c45f..6df8a44 100644 (file)
@@ -104,13 +104,15 @@ bool Volume::available() const {
   if(!checkFile.size())
     return true;
   std::vector<std::string> cmd;
-  cmd.push_back("ssh");
-  if(parent->parent->sshTimeout > 0) {
-    char buffer[64];
-    snprintf(buffer, sizeof buffer, "%d", parent->parent->sshTimeout);
-    cmd.push_back(std::string("-oConnectTimeout=") + buffer);
+  if(parent->hostname != "localhost") {
+    cmd.push_back("ssh");
+    if(parent->parent->sshTimeout > 0) {
+      char buffer[64];
+      snprintf(buffer, sizeof buffer, "%d", parent->parent->sshTimeout);
+      cmd.push_back(std::string("-oConnectTimeout=") + buffer);
+    }
+    cmd.push_back(parent->userAndHost());
   }
-  cmd.push_back(parent->userAndHost());
   cmd.push_back("test");
   cmd.push_back("-e");
   cmd.push_back(checkFile[0] == '/' ? checkFile : path + "/" + checkFile);