]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: eval_cap_gather in handle_client_caps even if no update
authorSage Weil <sage@newdream.net>
Thu, 22 Jan 2009 19:22:04 +0000 (11:22 -0800)
committerSage Weil <sage@newdream.net>
Thu, 22 Jan 2009 19:22:04 +0000 (11:22 -0800)
We may have recalled caps and journaled an update for some but
not all locks.  We should check for cap gathers even if something
(else) is journaled.

src/mds/Locker.cc

index d4b0496c7101dccf089211fb967f506f67aeeca8..69a4d44cffcf454fb1c27f2e22a30ba03ccf0049 100644 (file)
@@ -1501,11 +1501,11 @@ void Locker::handle_client_caps(MClientCaps *m)
          _finish_release_cap(in, client, releasecap, ack);
        else if (ack)
          mds->send_message_client(ack, client);
-       
-       eval_cap_gather(in);
-       if (in->filelock.is_stable())
-         file_eval(&in->filelock);
       }
+       
+      eval_cap_gather(in);
+      if (in->filelock.is_stable())
+       file_eval(&in->filelock);
     }
 
     // done?