ceph: touch existing cap when handling reply
Move cap to tail of session->s_caps list. So ceph_trim_caps() will trim older caps first. Signed-off-by: "Yan, Zheng" <zyan@redhat.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
e450f4d1a5
commit
32f6511a69
@ -657,6 +657,10 @@ void ceph_add_cap(struct inode *inode,
|
|||||||
session->s_nr_caps++;
|
session->s_nr_caps++;
|
||||||
spin_unlock(&session->s_cap_lock);
|
spin_unlock(&session->s_cap_lock);
|
||||||
} else {
|
} else {
|
||||||
|
spin_lock(&session->s_cap_lock);
|
||||||
|
list_move_tail(&cap->session_caps, &session->s_caps);
|
||||||
|
spin_unlock(&session->s_cap_lock);
|
||||||
|
|
||||||
if (cap->cap_gen < session->s_cap_gen)
|
if (cap->cap_gen < session->s_cap_gen)
|
||||||
cap->issued = cap->implemented = CEPH_CAP_PIN;
|
cap->issued = cap->implemented = CEPH_CAP_PIN;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user