Index: trunk/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24276)
+++ trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24291)
@@ -740,4 +740,6 @@
     }
 
+    # check to see if the user.mode xattr exists
+
     $log->debug("leaving");
 
@@ -982,4 +984,8 @@
         {
             type        => SCALAR,
+            callbacks   => {
+                'xattr is in user. namespace'
+                    => sub { ($_[0]) =~ qr/^user\./ },
+            },
         },
         {
@@ -1065,4 +1071,8 @@
         {
             type        => SCALAR,
+            callbacks   => {
+                'xattr is in user. namespace'
+                    => sub { ($_[0]) =~ qr/^user\./ },
+            },
         },
     );
@@ -1161,4 +1171,8 @@
         {
             type        => SCALAR,
+            callbacks   => {
+                'xattr is in user. namespace'
+                    => sub { ($_[0]) =~ qr/^user\./ },
+            },
         },
     );
@@ -1180,6 +1194,11 @@
             $query->finish;
 
+            # no rows affected means the xattr did not exist
+            if ($rows == 0) {
+                $log->logdie( "xattr $key:$name does not exist" );
+            }
+
             # if we affected more then one row something very bad has happened.
-            unless ($rows == 1) {
+            if ($rows > 1) {
                 $log->logdie( "affected row count is $rows instead of 1" );
             }
