Index: /branches/neb_distrib_20081210/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- /branches/neb_distrib_20081210/Nebulous-Server/lib/Nebulous/Server.pm	(revision 23717)
+++ /branches/neb_distrib_20081210/Nebulous-Server/lib/Nebulous/Server.pm	(revision 23718)
@@ -185,13 +185,13 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug( "entered - @_" );
-
     # vol_name overrides the key implied volume
     $key = parse_neb_key($key, $vol_name);
     $vol_name = $key->volume;
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug( "entered - @_" );
 
     # the key's volume can't be validiated on input for this method so we have
@@ -262,5 +262,5 @@
 
             # TODO add some stuff here to retry if unsucessful
-            $uri = $self->_create_empty_instance_file($key->path, $so_id, $ins_id, $vol_path, $vol_xattr);
+            $uri = $self->_create_empty_instance_file($key, $so_id, $ins_id, $vol_path, $vol_xattr);
             $log->debug("created $uri on volume ID: $vol_id");
 
@@ -314,13 +314,15 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
+    # XXX this may require database migration!
 
     # ignore volumes
     $key    = parse_neb_key($key);
     $newkey = parse_neb_key($newkey);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
 TRANS: while (1) {
@@ -376,4 +378,8 @@
     );
 
+    # ignore volumes
+    $key1 = parse_neb_key($key1);
+    $key2 = parse_neb_key($key2);
+
     my $log = $self->log;
     my $sql = $self->sql;
@@ -388,8 +394,4 @@
 
     $log->debug("entered - @_");
-
-    # ignore volumes
-    $key1 = parse_neb_key($key1);
-    $key2 = parse_neb_key($key2);
 
     # order of operations for the swap with a single db is:
@@ -508,13 +510,13 @@
     # then we should throw an error 
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
-
     # vol_name overrides the key implied volume
     $key = parse_neb_key($key, $vol_name);
     $vol_name = $key->volume;
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
     if (defined $vol_name
@@ -578,5 +580,5 @@
             # XXX if this fails, it should try to generate the
             # instance on another volume (unless !$soft_volume) 
-            $uri = $self->_create_empty_instance_file($key->path, $so_id, $ins_id, $vol_path, $vol_xattr);
+            $uri = $self->_create_empty_instance_file($key, $so_id, $ins_id, $vol_path, $vol_xattr);
 
             {
@@ -631,12 +633,12 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug( "entered - @_" );
-
     # ignore volume
     $key = parse_neb_key($key);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug( "entered - @_" );
 
     my $so_id;
@@ -741,12 +743,12 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug( "entered - @_" );
-
     # ignore volume
     $key = parse_neb_key($key);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug( "entered - @_" );
 
     my $so_id;
@@ -860,12 +862,12 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
-
     # ignore volume
     $key = parse_neb_key($key);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
 TRANS: while (1) {
@@ -934,12 +936,12 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
-
     # ignore volume
     $key = parse_neb_key($key);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
     my $value;
@@ -987,12 +989,12 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
-
     # ignore volume
     $key = parse_neb_key($key);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
     my @xattrs;
@@ -1030,12 +1032,12 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
-
     # ignore volume
     $key = parse_neb_key($key);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
 TRANS: while (1) {
@@ -1160,13 +1162,13 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
-
     # vol_name overrides the key implied volume
     $key = parse_neb_key($key, $vol_name);
     $vol_name = $key->volume;
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
     # the key's volume can't be validiated on input for this method so we have
@@ -1245,4 +1247,7 @@
     );
 
+    # ignore volume
+    $key = parse_neb_key($key);
+
     my $log = $self->log;
     my $sql = $self->sql;
@@ -1339,12 +1344,12 @@
     );
 
-    my $log = $self->log;
-    my $sql = $self->sql;
-    my $db  = $self->db($key);
-
-    $log->debug("entered - @_");
-
     # ignore volume
     $key = parse_neb_key($key);
+
+    my $log = $self->log;
+    my $sql = $self->sql;
+    my $db  = $self->db($key);
+
+    $log->debug("entered - @_");
 
     my $stat;
@@ -1483,7 +1488,4 @@
     use warnings;
 
-
-    $key = parse_neb_key($key);
-
     my ($vol_id, $vol_host, $vol_path, $xattr);
     eval {
@@ -1522,9 +1524,9 @@
     my ($self, $key) = @_;
 
+    $key = parse_neb_key($key);
+
     my $log = $self->log;
     my $sql = $self->sql;
     my $db  = $self->db($key);
-
-    $key = parse_neb_key($key);
 
     my $ext_id;
@@ -1553,9 +1555,10 @@
     my ($self, $key, $vol_name) = @_;
 
+    $key = parse_neb_key($key);
+    my $volume_info = parse_neb_volume($vol_name);
+
     my $log = $self->log;
     my $sql = $self->sql;
     my $db  = $self->db($key);
-
-    my $volume_info = parse_neb_volume($vol_name);
 
     $vol_name = $volume_info->{volume};
@@ -1596,6 +1599,6 @@
     my $uri;
     eval {
-        my $storage_path = $self->_generate_storage_path($key, $vol_path);
-        my $storage_filename = $self->_generate_storage_filename($key, $ins_id);
+        my $storage_path = $self->_generate_storage_path($key->path, $vol_path);
+        my $storage_filename = $self->_generate_storage_filename($key->path, $ins_id);
         unless (-d $storage_path) {
             _retry(sub { mkpath(@_) }, $storage_path, 0, 0775)
@@ -1622,5 +1625,5 @@
         my $path = $uri->file;
         die "can not set xattr on $path: $!"
-            unless (setfattr($path, 'user.nebulous_key', $key));
+            unless (setfattr($path, 'user.nebulous_key', $key->path));
     }
 
