Index: trunk/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 23460)
+++ trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 23655)
@@ -15,12 +15,13 @@
 use DBI;
 use Digest::SHA1 qw( sha1_hex );
+use File::Basename qw( dirname );
 use File::ExtAttr qw( setfattr );
 use File::Path;
 use File::Spec;
 use Log::Log4perl;
+use Nebulous::Keys qw( parse_neb_key parse_neb_volume );
 use Nebulous::Server::Config;
 use Nebulous::Server::Log;
 use Nebulous::Server::SQL;
-use Nebulous::Keys qw( parse_neb_key parse_neb_volume );
 use Params::Validate qw( validate_pos SCALAR SCALARREF UNDEF );
 use URI::file;
@@ -1579,4 +1580,9 @@
     my ($key, $vol_path) = @_;
 
+    # if the key has '/' in it, hash only the dirname() component
+    if ($key =~ m|/|) {
+        $key = dirname($key);
+    }
+
     # taken and modified from Cache::File::cache_file_path()
     # Copyright (C) 2003-2006 Chris Leishman.  All Rights Reserved.
