]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: xlock filelock during truncate
authorSage Weil <sage@newdream.net>
Tue, 24 Feb 2009 20:21:45 +0000 (12:21 -0800)
committerSage Weil <sage@newdream.net>
Tue, 24 Feb 2009 20:21:45 +0000 (12:21 -0800)
This allows client to see projected truncation before it commits.

src/mds/Server.cc

index 58c7e7bb5721be9a997175e6ebce072b47eb7359..48b3ca624ff1f9a6af1001beadf0deeea15f58da 100644 (file)
@@ -4844,7 +4844,7 @@ void Server::handle_client_truncate(MDRequest *mdr)
   set<SimpleLock*> rdlocks = mdr->rdlocks;
   set<SimpleLock*> wrlocks = mdr->wrlocks;
   set<SimpleLock*> xlocks = mdr->xlocks;
-  wrlocks.insert(&cur->filelock);
+  xlocks.insert(&cur->filelock);
   mds->locker->include_snap_rdlocks(rdlocks, cur);
 
   if (!mds->locker->acquire_locks(mdr, rdlocks, wrlocks, xlocks))