Index: trunk/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24294)
+++ trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24299)
@@ -20,4 +20,5 @@
 use File::Path;
 use File::Spec;
+use IO::File;
 use Log::Log4perl qw( :levels );
 use Nebulous::Key qw( parse_neb_key parse_neb_volume );
@@ -1647,6 +1648,16 @@
     # update each instances
     foreach my $inst (@$locations) {
-        chmod $mode, URI->new($inst)->path 
+        my $path = URI->new($inst)->path;
+        chmod $mode, $path
             or $log->logdie("chmod() failed: $!");
+        # XXX I'm assuming that it's OK to fsync() a filehandle that's only
+        # open for reading?  Opening as w/rw here can fail if the chmod removes
+        # write permissions.
+        my $fh = IO::File->new($path, "r")
+            or $log->logdie("open() of $path failed: $!");;
+        # fsync(3c)
+        $fh->sync;
+        close ($fh)
+            or $log->logdie("close() failed: $!");
     }
 
