Lines Matching refs:cap
692 struct ceph_cap *cap; in __choose_mds() local
789 cap = NULL; in __choose_mds()
791 cap = ci->i_auth_cap; in __choose_mds()
792 if (!cap && !RB_EMPTY_ROOT(&ci->i_caps)) in __choose_mds()
793 cap = rb_entry(rb_first(&ci->i_caps), struct ceph_cap, ci_node); in __choose_mds()
794 if (!cap) { in __choose_mds()
798 mds = cap->session->s_mds; in __choose_mds()
801 cap == ci->i_auth_cap ? "auth " : "", cap); in __choose_mds()
1062 struct ceph_cap *cap; in iterate_session_caps() local
1071 cap = list_entry(p, struct ceph_cap, session_caps); in iterate_session_caps()
1072 inode = igrab(&cap->ci->vfs_inode); in iterate_session_caps()
1077 session->s_cap_iterator = cap; in iterate_session_caps()
1089 ret = cb(inode, cap, arg); in iterate_session_caps()
1094 if (cap->ci == NULL) { in iterate_session_caps()
1096 cap); in iterate_session_caps()
1097 BUG_ON(cap->session != session); in iterate_session_caps()
1098 list_del_init(&cap->session_caps); in iterate_session_caps()
1100 cap->session = NULL; in iterate_session_caps()
1101 old_cap = cap; /* put_cap it w/o locks held */ in iterate_session_caps()
1118 static int remove_session_caps_cb(struct inode *inode, struct ceph_cap *cap, in remove_session_caps_cb() argument
1125 cap, ci, &ci->vfs_inode); in remove_session_caps_cb()
1127 __ceph_remove_cap(cap, false); in remove_session_caps_cb()
1170 struct ceph_cap *cap, *prev = NULL; in remove_session_caps() local
1180 cap = list_entry(session->s_caps.next, in remove_session_caps()
1182 if (cap == prev) in remove_session_caps()
1184 prev = cap; in remove_session_caps()
1185 vino = cap->ci->i_vino; in remove_session_caps()
1207 static int wake_up_session_cb(struct inode *inode, struct ceph_cap *cap, in wake_up_session_cb() argument
1355 static int trim_caps_cb(struct inode *inode, struct ceph_cap *cap, void *arg) in trim_caps_cb() argument
1365 mine = cap->issued | cap->implemented; in trim_caps_cb()
1368 oissued = __ceph_caps_issued_other(ci, cap); in trim_caps_cb()
1371 inode, cap, ceph_cap_string(mine), ceph_cap_string(oissued), in trim_caps_cb()
1373 if (cap == ci->i_auth_cap) { in trim_caps_cb()
1385 __ceph_remove_cap(cap, true); in trim_caps_cb()
1391 inode, cap, atomic_read(&inode->i_count)); in trim_caps_cb()
2026 struct ceph_cap *cap = in __prepare_send_request() local
2029 if (cap) in __prepare_send_request()
2030 req->r_sent_on_mseq = cap->mseq; in __prepare_send_request()
2723 static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap, in encode_caps_cb() argument
2739 ci = cap->ci; in encode_caps_cb()
2742 inode, ceph_vinop(inode), cap, cap->cap_id, in encode_caps_cb()
2743 ceph_cap_string(cap->issued)); in encode_caps_cb()
2764 cap->seq = 0; /* reset cap seq */ in encode_caps_cb()
2765 cap->issue_seq = 0; /* and issue_seq */ in encode_caps_cb()
2766 cap->mseq = 0; /* and migrate_seq */ in encode_caps_cb()
2767 cap->cap_gen = cap->session->s_cap_gen; in encode_caps_cb()
2770 rec.v2.cap_id = cpu_to_le64(cap->cap_id); in encode_caps_cb()
2772 rec.v2.issued = cpu_to_le32(cap->issued); in encode_caps_cb()
2778 rec.v1.cap_id = cpu_to_le64(cap->cap_id); in encode_caps_cb()
2780 rec.v1.issued = cpu_to_le32(cap->issued); in encode_caps_cb()