Lines Matching refs:ci
664 struct ceph_inode_info *ci = ceph_inode(req->r_unsafe_dir); in __unregister_request() local
665 spin_lock(&ci->i_unsafe_lock); in __unregister_request()
667 spin_unlock(&ci->i_unsafe_lock); in __unregister_request()
670 struct ceph_inode_info *ci = ceph_inode(req->r_target_inode); in __unregister_request() local
671 spin_lock(&ci->i_unsafe_lock); in __unregister_request()
673 spin_unlock(&ci->i_unsafe_lock); in __unregister_request()
711 struct ceph_inode_info *ci; in __choose_mds() local
766 ci = ceph_inode(inode); in __choose_mds()
772 ceph_choose_frag(ci, hash, &frag, &found); in __choose_mds()
808 spin_lock(&ci->i_ceph_lock); in __choose_mds()
811 cap = ci->i_auth_cap; in __choose_mds()
812 if (!cap && !RB_EMPTY_ROOT(&ci->i_caps)) in __choose_mds()
813 cap = rb_entry(rb_first(&ci->i_caps), struct ceph_cap, ci_node); in __choose_mds()
815 spin_unlock(&ci->i_ceph_lock); in __choose_mds()
821 cap == ci->i_auth_cap ? "auth " : "", cap); in __choose_mds()
822 spin_unlock(&ci->i_ceph_lock); in __choose_mds()
1091 inode = igrab(&cap->ci->vfs_inode); in iterate_session_caps()
1113 if (cap->ci == NULL) { in iterate_session_caps()
1146 struct ceph_inode_info *ci = ceph_inode(inode); in remove_session_caps_cb() local
1151 cap, ci, &ci->vfs_inode); in remove_session_caps_cb()
1152 spin_lock(&ci->i_ceph_lock); in remove_session_caps_cb()
1154 if (!ci->i_auth_cap) { in remove_session_caps_cb()
1160 struct rb_node *n = rb_first(&ci->i_cap_flush_tree); in remove_session_caps_cb()
1164 rb_erase(&cf->i_node, &ci->i_cap_flush_tree); in remove_session_caps_cb()
1173 if (!list_empty(&ci->i_dirty_item)) { in remove_session_caps_cb()
1176 ceph_cap_string(ci->i_dirty_caps), in remove_session_caps_cb()
1178 ci->i_dirty_caps = 0; in remove_session_caps_cb()
1179 list_del_init(&ci->i_dirty_item); in remove_session_caps_cb()
1182 if (!list_empty(&ci->i_flushing_item)) { in remove_session_caps_cb()
1185 ceph_cap_string(ci->i_flushing_caps), in remove_session_caps_cb()
1187 ci->i_flushing_caps = 0; in remove_session_caps_cb()
1188 list_del_init(&ci->i_flushing_item); in remove_session_caps_cb()
1194 if (!ci->i_dirty_caps && ci->i_prealloc_cap_flush) { in remove_session_caps_cb()
1195 list_add(&ci->i_prealloc_cap_flush->list, &to_remove); in remove_session_caps_cb()
1196 ci->i_prealloc_cap_flush = NULL; in remove_session_caps_cb()
1199 spin_unlock(&ci->i_ceph_lock); in remove_session_caps_cb()
1239 vino = cap->ci->i_vino; in remove_session_caps()
1265 struct ceph_inode_info *ci = ceph_inode(inode); in wake_up_session_cb() local
1267 wake_up_all(&ci->i_cap_wq); in wake_up_session_cb()
1269 spin_lock(&ci->i_ceph_lock); in wake_up_session_cb()
1270 ci->i_wanted_max_size = 0; in wake_up_session_cb()
1271 ci->i_requested_max_size = 0; in wake_up_session_cb()
1272 spin_unlock(&ci->i_ceph_lock); in wake_up_session_cb()
1413 struct ceph_inode_info *ci = ceph_inode(inode); in trim_caps_cb() local
1419 spin_lock(&ci->i_ceph_lock); in trim_caps_cb()
1421 used = __ceph_caps_used(ci); in trim_caps_cb()
1422 wanted = __ceph_caps_file_wanted(ci); in trim_caps_cb()
1423 oissued = __ceph_caps_issued_other(ci, cap); in trim_caps_cb()
1428 if (cap == ci->i_auth_cap) { in trim_caps_cb()
1429 if (ci->i_dirty_caps || ci->i_flushing_caps || in trim_caps_cb()
1430 !list_empty(&ci->i_cap_snaps)) in trim_caps_cb()
1451 spin_unlock(&ci->i_ceph_lock); in trim_caps_cb()
1459 spin_unlock(&ci->i_ceph_lock); in trim_caps_cb()
1487 static int check_capsnap_flush(struct ceph_inode_info *ci, in check_capsnap_flush() argument
1491 spin_lock(&ci->i_ceph_lock); in check_capsnap_flush()
1492 if (want_snap_seq > 0 && !list_empty(&ci->i_cap_snaps)) { in check_capsnap_flush()
1494 list_first_entry(&ci->i_cap_snaps, in check_capsnap_flush()
1498 spin_unlock(&ci->i_ceph_lock); in check_capsnap_flush()
1551 struct ceph_inode_info *ci = capsnap->ci; in wait_caps_flush() local
1552 if (!check_capsnap_flush(ci, want_snap_seq)) { in wait_caps_flush()
1555 &ci->vfs_inode, capsnap->follows, in wait_caps_flush()
1557 inode = igrab(&ci->vfs_inode); in wait_caps_flush()
1665 struct ceph_inode_info *ci = ceph_inode(dir); in ceph_alloc_readdir_reply_buffer() local
1672 spin_lock(&ci->i_ceph_lock); in ceph_alloc_readdir_reply_buffer()
1673 num_entries = ci->i_files + ci->i_subdirs; in ceph_alloc_readdir_reply_buffer()
1674 spin_unlock(&ci->i_ceph_lock); in ceph_alloc_readdir_reply_buffer()
2491 struct ceph_inode_info *ci = in handle_reply() local
2493 spin_lock(&ci->i_unsafe_lock); in handle_reply()
2495 &ci->i_unsafe_dirops); in handle_reply()
2496 spin_unlock(&ci->i_unsafe_lock); in handle_reply()
2541 struct ceph_inode_info *ci = ceph_inode(req->r_target_inode); in handle_reply() local
2542 spin_lock(&ci->i_unsafe_lock); in handle_reply()
2543 list_add_tail(&req->r_unsafe_target_item, &ci->i_unsafe_iops); in handle_reply()
2544 spin_unlock(&ci->i_unsafe_lock); in handle_reply()
2791 struct ceph_inode_info *ci; in encode_caps_cb() local
2799 ci = cap->ci; in encode_caps_cb()
2823 spin_lock(&ci->i_ceph_lock); in encode_caps_cb()
2831 rec.v2.wanted = cpu_to_le32(__ceph_caps_wanted(ci)); in encode_caps_cb()
2833 rec.v2.snaprealm = cpu_to_le64(ci->i_snap_realm->ino); in encode_caps_cb()
2839 rec.v1.wanted = cpu_to_le32(__ceph_caps_wanted(ci)); in encode_caps_cb()
2844 rec.v1.snaprealm = cpu_to_le64(ci->i_snap_realm->ino); in encode_caps_cb()
2848 spin_unlock(&ci->i_ceph_lock); in encode_caps_cb()