ceph: only send cap releases when mds is OPEN|HUNG
On OPENING we shouldn't have any caps (or releases). On CLOSING, we should wait until we succeed (and throw it all out), or don't (and are OPEN again). On RECONNECTING we can wait until we are OPEN. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
e01a594646
commit
aab53dd9e8
|
@ -2647,7 +2647,9 @@ static void delayed_work(struct work_struct *work)
|
||||||
else
|
else
|
||||||
ceph_con_keepalive(&s->s_con);
|
ceph_con_keepalive(&s->s_con);
|
||||||
add_cap_releases(mdsc, s, -1);
|
add_cap_releases(mdsc, s, -1);
|
||||||
send_cap_releases(mdsc, s);
|
if (s->s_state == CEPH_MDS_SESSION_OPEN ||
|
||||||
|
s->s_state == CEPH_MDS_SESSION_HUNG)
|
||||||
|
send_cap_releases(mdsc, s);
|
||||||
mutex_unlock(&s->s_mutex);
|
mutex_unlock(&s->s_mutex);
|
||||||
ceph_put_mds_session(s);
|
ceph_put_mds_session(s);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue