Index: trunk/Nebulous/bin/neb-repair
===================================================================
--- trunk/Nebulous/bin/neb-repair	(revision 39506)
+++ trunk/Nebulous/bin/neb-repair	(revision 39926)
@@ -167,5 +167,5 @@
     my $name = shift;                # Filename for which to get the scheme
     my ($scheme) = $name =~ /^(path|neb|file):/; # The scheme, e.g., file://, path://
-    if undef $scheme { $scheme = "none"; }
+#    if undef $scheme { $scheme = "none"; }
     # $scheme may be undef if the input doesn't contain one of the above recognised schemes
     unless (defined($scheme)) { $scheme = "none"; }
Index: trunk/Nebulous/lib/Nebulous/Client.pm
===================================================================
--- trunk/Nebulous/lib/Nebulous/Client.pm	(revision 39506)
+++ trunk/Nebulous/lib/Nebulous/Client.pm	(revision 39926)
@@ -18,4 +18,5 @@
 use Params::Validate qw( validate validate_pos SCALAR UNDEF BOOLEAN );
 #use SOAP::Lite +trace => [qw( debug )];
+use Sys::Hostname;
 use SOAP::Lite;
 use Time::HiRes qw( sleep );
@@ -858,4 +859,9 @@
 
     $log->debug( "entered - @_" );
+    
+    unless(defined($params[0])) {
+	$params[0] = hostname() . ".0";
+#	print STDERR "Setting host to $params[0]\n";
+    }
 
     my $response = $self->{ 'server' }->find_instances( $key, @params );
@@ -980,4 +986,6 @@
     $log->debug( "entered - @_" );
 
+    my $find_volume = hostname() . ".0";
+    $params[0] = $find_volume;
     my $locations = $self->find_instances( $key, @params );
     unless (defined $locations) {
Index: trunk/Nebulous/nebclient/src/nebclient.c
===================================================================
--- trunk/Nebulous/nebclient/src/nebclient.c	(revision 39506)
+++ trunk/Nebulous/nebclient/src/nebclient.c	(revision 39926)
@@ -529,6 +529,22 @@
         return NULL;
     }
+
+    // Construct a dummy volume name to allow nebulous to find the
+    // closest instance available.
+    char hostname[256];
+    char volname[260];
+
+    int v;
+
+    v = gethostname(hostname,256);
+    //    fprintf(stderr, "%s %d\n", hostname, v);
+/*     printf("%s %d\n",hostname,v); */
+    if (v) {
+      nebSetErr(server, "failed to construct hostname");
+      return NULL;
+    }
+    snprintf(volname,260, "%s.0", hostname);
     
-    nebObjectInstances *locations = nebFindInstances(server, key, NULL);
+    nebObjectInstances *locations = nebFindInstances(server, key, volname);
     if (!locations) {
         if (!strstr(nebErr(server), "no instances on storage volume")) {
