]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: take srci lock during rename to ensure ctime change propagates
authorSage Weil <sage@newdream.net>
Mon, 19 Jan 2009 19:52:30 +0000 (11:52 -0800)
committerSage Weil <sage@newdream.net>
Mon, 19 Jan 2009 19:52:30 +0000 (11:52 -0800)
src/mds/Server.cc

index 29a0b535ac3d98b200846d357f5f4802b7133fb9..e8d2c8e0a7b4203daa184c20f8bca2fd1377ba19 100644 (file)
@@ -3625,6 +3625,9 @@ void Server::handle_client_rename(MDRequest *mdr)
   if (!srcdn->is_auth() && srcdnl->is_primary())
     xlocks.insert(&srci->versionlock);
 
+  // we need to update srci's ctime.  xlock its least contended lock to do that...
+  xlocks.insert(&srci->linklock);
+
   // xlock oldin (for nlink--)
   if (oldin) {
     xlocks.insert(&oldin->linklock);