]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: eval FileLock after last wrlock releases
authorSage Weil <sage@newdream.net>
Wed, 29 Oct 2008 20:50:15 +0000 (13:50 -0700)
committerSage Weil <sage@newdream.net>
Wed, 29 Oct 2008 20:50:15 +0000 (13:50 -0700)
src/mds/Locker.cc

index 10da0bb677055a10e5e8356d74ae49cb194a12b1..d5e7c6b838ef3b874e8ae6388ca98842f12b1566 100644 (file)
@@ -2988,8 +2988,12 @@ void Locker::file_wrlock_finish(FileLock *lock, Mutation *mut)
     mut->locks.erase(lock);
   }
 
-  if (!lock->is_wrlocked())
-    file_eval_gather(lock);
+  if (!lock->is_wrlocked()) {
+    if (!lock->is_stable())
+      file_eval_gather(lock);
+    else
+      file_eval(lock);
+  }
 }