Lines Matching refs:cap
1034 struct ceph_cap *cap; in __choose_mds() local
1153 cap = NULL; in __choose_mds()
1155 cap = ci->i_auth_cap; in __choose_mds()
1156 if (!cap && !RB_EMPTY_ROOT(&ci->i_caps)) in __choose_mds()
1157 cap = rb_entry(rb_first(&ci->i_caps), struct ceph_cap, ci_node); in __choose_mds()
1158 if (!cap) { in __choose_mds()
1163 mds = cap->session->s_mds; in __choose_mds()
1166 cap == ci->i_auth_cap ? "auth " : "", cap); in __choose_mds()
1502 struct ceph_cap *cap; in dispose_cap_releases() local
1504 cap = list_first_entry(dispose, struct ceph_cap, session_caps); in dispose_cap_releases()
1505 list_del(&cap->session_caps); in dispose_cap_releases()
1506 ceph_put_cap(mdsc, cap); in dispose_cap_releases()
1552 struct ceph_cap *cap; in ceph_iterate_session_caps() local
1561 cap = list_entry(p, struct ceph_cap, session_caps); in ceph_iterate_session_caps()
1562 inode = igrab(&cap->ci->vfs_inode); in ceph_iterate_session_caps()
1567 session->s_cap_iterator = cap; in ceph_iterate_session_caps()
1581 ret = cb(inode, cap, arg); in ceph_iterate_session_caps()
1586 if (!cap->ci) { in ceph_iterate_session_caps()
1588 cap); in ceph_iterate_session_caps()
1589 BUG_ON(cap->session != session); in ceph_iterate_session_caps()
1590 cap->session = NULL; in ceph_iterate_session_caps()
1591 list_del_init(&cap->session_caps); in ceph_iterate_session_caps()
1594 if (cap->queue_release) in ceph_iterate_session_caps()
1595 __ceph_queue_cap_release(session, cap); in ceph_iterate_session_caps()
1597 old_cap = cap; /* put_cap it w/o locks held */ in ceph_iterate_session_caps()
1637 static int remove_session_caps_cb(struct inode *inode, struct ceph_cap *cap, in remove_session_caps_cb() argument
1649 cap, ci, &ci->vfs_inode); in remove_session_caps_cb()
1651 __ceph_remove_cap(cap, false); in remove_session_caps_cb()
1758 struct ceph_cap *cap, *prev = NULL; in remove_session_caps() local
1768 cap = list_entry(session->s_caps.next, in remove_session_caps()
1770 if (cap == prev) in remove_session_caps()
1772 prev = cap; in remove_session_caps()
1773 vino = cap->ci->i_vino; in remove_session_caps()
1805 static int wake_up_session_cb(struct inode *inode, struct ceph_cap *cap, in wake_up_session_cb() argument
1817 if (cap->cap_gen < cap->session->s_cap_gen) { in wake_up_session_cb()
1820 cap->issued = cap->implemented = CEPH_CAP_PIN; in wake_up_session_cb()
1984 static int trim_caps_cb(struct inode *inode, struct ceph_cap *cap, void *arg) in trim_caps_cb() argument
1994 mine = cap->issued | cap->implemented; in trim_caps_cb()
1997 oissued = __ceph_caps_issued_other(ci, cap); in trim_caps_cb()
2000 inode, cap, ceph_cap_string(mine), ceph_cap_string(oissued), in trim_caps_cb()
2002 if (cap == ci->i_auth_cap) { in trim_caps_cb()
2027 __ceph_remove_cap(cap, true); in trim_caps_cb()
2042 inode, cap, count); in trim_caps_cb()
2124 struct ceph_cap *cap; in ceph_send_cap_releases() local
2154 cap = list_first_entry(&tmp_list, struct ceph_cap, in ceph_send_cap_releases()
2156 list_del(&cap->session_caps); in ceph_send_cap_releases()
2163 item->ino = cpu_to_le64(cap->cap_ino); in ceph_send_cap_releases()
2164 item->cap_id = cpu_to_le64(cap->cap_id); in ceph_send_cap_releases()
2165 item->migrate_seq = cpu_to_le32(cap->mseq); in ceph_send_cap_releases()
2166 item->seq = cpu_to_le32(cap->issue_seq); in ceph_send_cap_releases()
2169 ceph_put_cap(mdsc, cap); in ceph_send_cap_releases()
2244 struct ceph_cap *cap) in __ceph_queue_cap_release() argument
2246 list_add_tail(&cap->session_caps, &session->s_cap_releases); in __ceph_queue_cap_release()
2715 struct ceph_cap *cap = in __prepare_send_request() local
2718 if (cap) in __prepare_send_request()
2719 req->r_sent_on_mseq = cap->mseq; in __prepare_send_request()
3725 static int reconnect_caps_cb(struct inode *inode, struct ceph_cap *cap, in reconnect_caps_cb() argument
3732 struct ceph_inode_info *ci = cap->ci; in reconnect_caps_cb()
3742 inode, ceph_vinop(inode), cap, cap->cap_id, in reconnect_caps_cb()
3743 ceph_cap_string(cap->issued)); in reconnect_caps_cb()
3761 cap->seq = 0; /* reset cap seq */ in reconnect_caps_cb()
3762 cap->issue_seq = 0; /* and issue_seq */ in reconnect_caps_cb()
3763 cap->mseq = 0; /* and migrate_seq */ in reconnect_caps_cb()
3764 cap->cap_gen = cap->session->s_cap_gen; in reconnect_caps_cb()
3768 if (cap->issued & CEPH_CAP_DIR_CREATE) { in reconnect_caps_cb()
3772 cap->issued &= ~CEPH_CAP_ANY_DIR_OPS; in reconnect_caps_cb()
3776 rec.v2.cap_id = cpu_to_le64(cap->cap_id); in reconnect_caps_cb()
3778 rec.v2.issued = cpu_to_le32(cap->issued); in reconnect_caps_cb()
3784 rec.v1.cap_id = cpu_to_le64(cap->cap_id); in reconnect_caps_cb()
3786 rec.v1.issued = cpu_to_le32(cap->issued); in reconnect_caps_cb()