Index: /trunk/Nebulous/lib/Nebulous/Client.pm
===================================================================
--- /trunk/Nebulous/lib/Nebulous/Client.pm	(revision 17736)
+++ /trunk/Nebulous/lib/Nebulous/Client.pm	(revision 17737)
@@ -1,5 +1,5 @@
 # Copyright (c) 2004-2008  Joshua Hoblitt
 #
-# $Id: Client.pm,v 1.50 2008-05-16 23:37:54 jhoblitt Exp $
+# $Id: Client.pm,v 1.51 2008-05-19 20:52:37 jhoblitt Exp $
 
 package Nebulous::Client;
@@ -183,5 +183,5 @@
         };
         if ($@ =~ qr/file doesn't exist/) {
-            $log->set_err($@);
+            $self->set_err($@);
             sleep 1;
         } else {
@@ -635,5 +635,5 @@
         {
             #volume
-            type        => SCALAR,
+            type        => SCALAR|UNDEF,
             optional    => 1,
         },
@@ -650,4 +650,9 @@
             return;
         }
+        # key is valid but no instances are on the specified volume
+        if ($response->faultstring =~ /no instances on storage volume/) {
+            $log->debug( "leaving" );
+            return;
+        }
 
         $log->logdie("unhandled fault - ", $self->err);
@@ -670,9 +675,14 @@
             type        => SCALAR,
         },
-    );
-
-    $log->debug( "entered - @_" );
-
-    my $locations = $self->find_instances( $key );
+        {
+            #volume
+            type        => SCALAR|UNDEF,
+            optional    => 1,
+        },
+    );
+
+    $log->debug( "entered - @_" );
+
+    my $locations = $self->find_instances( $key, undef );
 
     my $path;
