From 47f2385e8bb4206160179c6bca0365a3e9444794 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 6 Jan 2009 14:37:20 -0800 Subject: [PATCH] mds: don't let release race with any caps --- src/mds/Locker.cc | 6 +++--- src/mds/mdstypes.h | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index dda6905b937b8..c0caf53f3d3a5 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -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()) { diff --git a/src/mds/mdstypes.h b/src/mds/mdstypes.h index 460074da86d53..fb002af5f2662 100644 --- a/src/mds/mdstypes.h +++ b/src/mds/mdstypes.h @@ -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; } -- 2.39.5