Lines Matching refs:ci
152 struct ceph_inode_info *ci; member
527 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_ino_compare() local
528 return ci->i_vino.ino == pvino->ino && in ceph_ino_compare()
529 ci->i_vino.snap == pvino->snap; in ceph_ino_compare()
576 static inline void ceph_set_error_write(struct ceph_inode_info *ci) in ceph_set_error_write() argument
578 if (!(READ_ONCE(ci->i_ceph_flags) & CEPH_I_ERROR_WRITE)) { in ceph_set_error_write()
579 spin_lock(&ci->i_ceph_lock); in ceph_set_error_write()
580 ci->i_ceph_flags |= CEPH_I_ERROR_WRITE; in ceph_set_error_write()
581 spin_unlock(&ci->i_ceph_lock); in ceph_set_error_write()
585 static inline void ceph_clear_error_write(struct ceph_inode_info *ci) in ceph_clear_error_write() argument
587 if (READ_ONCE(ci->i_ceph_flags) & CEPH_I_ERROR_WRITE) { in ceph_clear_error_write()
588 spin_lock(&ci->i_ceph_lock); in ceph_clear_error_write()
589 ci->i_ceph_flags &= ~CEPH_I_ERROR_WRITE; in ceph_clear_error_write()
590 spin_unlock(&ci->i_ceph_lock); in ceph_clear_error_write()
594 static inline void __ceph_dir_set_complete(struct ceph_inode_info *ci, in __ceph_dir_set_complete() argument
604 atomic64_set(&ci->i_complete_seq[0], release_count); in __ceph_dir_set_complete()
605 atomic64_set(&ci->i_complete_seq[1], ordered_count); in __ceph_dir_set_complete()
608 static inline void __ceph_dir_clear_complete(struct ceph_inode_info *ci) in __ceph_dir_clear_complete() argument
610 atomic64_inc(&ci->i_release_count); in __ceph_dir_clear_complete()
613 static inline void __ceph_dir_clear_ordered(struct ceph_inode_info *ci) in __ceph_dir_clear_ordered() argument
615 atomic64_inc(&ci->i_ordered_count); in __ceph_dir_clear_ordered()
618 static inline bool __ceph_dir_is_complete(struct ceph_inode_info *ci) in __ceph_dir_is_complete() argument
620 return atomic64_read(&ci->i_complete_seq[0]) == in __ceph_dir_is_complete()
621 atomic64_read(&ci->i_release_count); in __ceph_dir_is_complete()
624 static inline bool __ceph_dir_is_complete_ordered(struct ceph_inode_info *ci) in __ceph_dir_is_complete_ordered() argument
626 return atomic64_read(&ci->i_complete_seq[0]) == in __ceph_dir_is_complete_ordered()
627 atomic64_read(&ci->i_release_count) && in __ceph_dir_is_complete_ordered()
628 atomic64_read(&ci->i_complete_seq[1]) == in __ceph_dir_is_complete_ordered()
629 atomic64_read(&ci->i_ordered_count); in __ceph_dir_is_complete_ordered()
650 extern struct ceph_inode_frag *__ceph_find_frag(struct ceph_inode_info *ci,
657 extern u32 ceph_choose_frag(struct ceph_inode_info *ci, u32 v,
669 static inline bool __ceph_is_any_real_caps(struct ceph_inode_info *ci) in __ceph_is_any_real_caps() argument
671 return !RB_EMPTY_ROOT(&ci->i_caps); in __ceph_is_any_real_caps()
674 extern int __ceph_caps_issued(struct ceph_inode_info *ci, int *implemented);
675 extern int __ceph_caps_issued_mask(struct ceph_inode_info *ci, int mask, int t);
676 extern int __ceph_caps_issued_mask_metric(struct ceph_inode_info *ci, int mask,
678 extern int __ceph_caps_issued_other(struct ceph_inode_info *ci,
681 static inline int ceph_caps_issued(struct ceph_inode_info *ci) in ceph_caps_issued() argument
684 spin_lock(&ci->i_ceph_lock); in ceph_caps_issued()
685 issued = __ceph_caps_issued(ci, NULL); in ceph_caps_issued()
686 spin_unlock(&ci->i_ceph_lock); in ceph_caps_issued()
690 static inline int ceph_caps_issued_mask_metric(struct ceph_inode_info *ci, in ceph_caps_issued_mask_metric() argument
694 spin_lock(&ci->i_ceph_lock); in ceph_caps_issued_mask_metric()
695 r = __ceph_caps_issued_mask_metric(ci, mask, touch); in ceph_caps_issued_mask_metric()
696 spin_unlock(&ci->i_ceph_lock); in ceph_caps_issued_mask_metric()
700 static inline int __ceph_caps_dirty(struct ceph_inode_info *ci) in __ceph_caps_dirty() argument
702 return ci->i_dirty_caps | ci->i_flushing_caps; in __ceph_caps_dirty()
706 extern int __ceph_mark_dirty_caps(struct ceph_inode_info *ci, int mask,
709 extern int __ceph_caps_revoking_other(struct ceph_inode_info *ci,
711 extern int ceph_caps_revoking(struct ceph_inode_info *ci, int mask);
712 extern int __ceph_caps_used(struct ceph_inode_info *ci);
714 static inline bool __ceph_is_file_opened(struct ceph_inode_info *ci) in __ceph_is_file_opened() argument
716 return ci->i_nr_by_mode[0]; in __ceph_is_file_opened()
718 extern int __ceph_caps_file_wanted(struct ceph_inode_info *ci);
719 extern int __ceph_caps_wanted(struct ceph_inode_info *ci);
722 extern int __ceph_caps_mds_wanted(struct ceph_inode_info *ci, bool check);
908 extern void ceph_queue_cap_snap(struct ceph_inode_info *ci);
909 extern int __ceph_finish_cap_snap(struct ceph_inode_info *ci,
925 static inline bool __ceph_have_pending_cap_snap(struct ceph_inode_info *ci) in __ceph_have_pending_cap_snap() argument
927 return !list_empty(&ci->i_cap_snaps) && in __ceph_have_pending_cap_snap()
928 list_last_entry(&ci->i_cap_snaps, struct ceph_cap_snap, in __ceph_have_pending_cap_snap()
986 extern struct ceph_buffer *__ceph_build_xattrs_blob(struct ceph_inode_info *ci);
987 extern void __ceph_destroy_xattrs(struct ceph_inode_info *ci);
1088 extern void __ceph_remove_caps(struct ceph_inode_info *ci);
1101 struct ceph_inode_info *ci);
1102 extern struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci,
1104 extern void ceph_take_cap_refs(struct ceph_inode_info *ci, int caps,
1106 extern void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps);
1107 extern void ceph_put_cap_refs(struct ceph_inode_info *ci, int had);
1108 extern void ceph_put_cap_refs_no_check_caps(struct ceph_inode_info *ci,
1110 extern void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,
1112 extern void ceph_flush_snaps(struct ceph_inode_info *ci,
1114 extern bool __ceph_should_report_size(struct ceph_inode_info *ci);
1115 extern void ceph_check_caps(struct ceph_inode_info *ci, int flags,
1132 extern void ceph_get_fmode(struct ceph_inode_info *ci, int mode, int count);
1133 extern void ceph_put_fmode(struct ceph_inode_info *ci, int mode, int count);
1134 extern void __ceph_touch_fmode(struct ceph_inode_info *ci,
1201 static inline bool __ceph_has_any_quota(struct ceph_inode_info *ci) in __ceph_has_any_quota() argument
1203 return ci->i_max_files || ci->i_max_bytes; in __ceph_has_any_quota()
1208 static inline void __ceph_update_quota(struct ceph_inode_info *ci, in __ceph_update_quota() argument
1212 had_quota = __ceph_has_any_quota(ci); in __ceph_update_quota()
1213 ci->i_max_bytes = max_bytes; in __ceph_update_quota()
1214 ci->i_max_files = max_files; in __ceph_update_quota()
1215 has_quota = __ceph_has_any_quota(ci); in __ceph_update_quota()
1218 ceph_adjust_quota_realms_count(&ci->vfs_inode, has_quota); in __ceph_update_quota()