Index: trunk/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24411)
+++ trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24412)
@@ -1870,5 +1870,14 @@
         $query->finish;
     };
-    $log->logdie("database error: $@") if $@;
+    if ($@) {
+        if ($@ =~ qr/no storage volume is available/) {
+            # this should not happen unless all volumes are full
+            $log->error($@);
+            $log->debug("retrying...");
+            return $self->_get_storage_volume(@_);
+        } 
+        # else
+        $log->logdie("database error: $@");
+    }
 
     $log->logdie("failed to find a suitable volume" )
