]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't let release race with any caps
authorSage Weil <sage@newdream.net>
Tue, 6 Jan 2009 22:37:20 +0000 (14:37 -0800)
committerSage Weil <sage@newdream.net>
Tue, 6 Jan 2009 22:37:20 +0000 (14:37 -0800)
src/mds/Locker.cc
src/mds/mdstypes.h

index dda6905b937b8c3d8ff2e83329006e1e6d226553..c0caf53f3d3a5c5440f1bf668102c05f4d0bd268 100644 (file)
@@ -1088,14 +1088,14 @@ void Locker::handle_client_caps(MClientCaps *m)
                            m->get_caps(), 0, m->get_dirty(), 0);
     }
     if (m->get_caps() == 0) {
-      assert(m->get_seq() <= cap->get_last_issue());
-      if (m->get_seq() == cap->get_last_issue()) {
+      assert(m->get_seq() <= cap->get_last_sent());
+      if (m->get_seq() == cap->get_last_sent()) {
        dout(7) << " releasing request client" << client << " seq " << m->get_seq() << " on " << *in << dendl;
        cap->releasing++;
        releasecap = m->get_seq();
       } else {
        dout(7) << " NOT releasing request client" << client << " seq " << m->get_seq()
-               << " < last_issue " << cap->get_last_issue() << " on " << *in << dendl;
+               << " < last_sent " << cap->get_last_sent() << " on " << *in << dendl;
       }
     }
     if (wanted != cap->wanted()) {
index 460074da86d53fcd30fd0e9cf7d1a601c960e457..fb002af5f26627ad9e740afa5eda21606e138039 100644 (file)
@@ -84,6 +84,8 @@ inline string ccap_string(int cap)
   a = cap >> CEPH_CAP_SFILE;
   if (a) s += 'F' + gcap_string(a);
 
+  if (s.length() == 0)
+    s = "-";
   return s;
 }