Index: /branches/eam_branches/ipp-20191011/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- /branches/eam_branches/ipp-20191011/Nebulous-Server/lib/Nebulous/Server.pm	(revision 41040)
+++ /branches/eam_branches/ipp-20191011/Nebulous-Server/lib/Nebulous/Server.pm	(revision 41041)
@@ -17,6 +17,11 @@
 use Cache::Memcached;
 use DBI;
-## for gentoo: use Digest::SHA1 qw( sha1_hex );
-use Digest::SHA qw( sha1_hex );
+
+## for gentoo:
+use Digest::SHA1 qw( sha1_hex );
+
+## for ubuntu:
+# use Digest::SHA qw( sha1_hex );
+
 use Fcntl ':mode';
 use File::Basename qw( basename dirname fileparse );
@@ -2091,4 +2096,6 @@
 
     ## XXX this method is missing the alias deference section (see find_instances)
+    ## if aliases are intended to be compute nodes in the same cabinet / site as
+    ## the storage nodes, then this is not needed.
 
     # the key's volume can't be validiated on input for this method so we have
@@ -2113,5 +2120,5 @@
             unless ($rows > 0) {
                 $query->finish;
-                die("no instances on storage volume or volume is not avaiable for key: $key volume: $vol_name");
+                die("no instances on storage volume or volume is not available for key: $key volume: $vol_name");
             }
         } else {
@@ -2136,7 +2143,9 @@
         $db->rollback;
         # handle soft volumes
-        if (defined $vol_name and not defined $key->hard_volume) {
+	# we need to call find_intances_for_cull here so the returned structure 
+	# is the same (find_instances just returns an array of strings)
+        if (defined $vol_name and not defined $key->hard_volume and ($vol_name ne "any")) {
             $log->debug("retrying with 'any' volume");
-            return $self->find_instances($key->path, 'any');
+            return $self->find_instances_for_cull($key->path, 'any');
         }
         $log->logdie("database error: $@");
