Home
last modified time | relevance | path

Searched refs:mdsc (Results 1 – 22 of 22) sorted by relevance

/linux/fs/ceph/
H A Dsnap.c66 void ceph_get_snap_realm(struct ceph_mds_client *mdsc, in ceph_get_snap_realm() argument
69 lockdep_assert_held(&mdsc->snap_rwsem); in ceph_get_snap_realm()
80 spin_lock(&mdsc->snap_empty_lock); in ceph_get_snap_realm()
83 spin_unlock(&mdsc->snap_empty_lock); in ceph_get_snap_realm()
114 struct ceph_mds_client *mdsc, in ceph_create_snap_realm() argument
119 lockdep_assert_held_write(&mdsc->snap_rwsem); in ceph_create_snap_realm()
138 __insert_snap_realm(&mdsc->snap_realms, realm); in ceph_create_snap_realm()
139 mdsc->num_snap_realms++; in ceph_create_snap_realm()
141 doutc(mdsc->fsc->client, "%llx %p\n", realm->ino, realm); in ceph_create_snap_realm()
150 static struct ceph_snap_realm *__lookup_snap_realm(struct ceph_mds_client *mdsc, in __lookup_snap_realm() argument
[all …]
H A Dquota.c15 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_adjust_quota_realms_count() local
17 atomic64_inc(&mdsc->quotarealms_count); in ceph_adjust_quota_realms_count()
19 atomic64_dec(&mdsc->quotarealms_count); in ceph_adjust_quota_realms_count()
25 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(sb); in ceph_has_realms_with_quotas() local
28 if (atomic64_read(&mdsc->quotarealms_count) > 0) in ceph_has_realms_with_quotas()
40 void ceph_handle_quota(struct ceph_mds_client *mdsc, in ceph_handle_quota() argument
44 struct super_block *sb = mdsc->fsc->sb; in ceph_handle_quota()
46 struct ceph_client *cl = mdsc->fsc->client; in ceph_handle_quota()
51 if (!ceph_inc_mds_stopping_blocker(mdsc, session)) in ceph_handle_quota()
81 ceph_dec_mds_stopping_blocker(mdsc); in ceph_handle_quota()
[all …]
H A Dmds_client.c64 static void __wake_requests(struct ceph_mds_client *mdsc,
71 static void ceph_metric_bind_session(struct ceph_mds_client *mdsc, in ceph_metric_bind_session() argument
76 if (!mdsc || !session || disable_send_metrics) in ceph_metric_bind_session()
79 old = mdsc->metric.session; in ceph_metric_bind_session()
80 mdsc->metric.session = ceph_get_mds_session(session); in ceph_metric_bind_session()
84 metric_schedule_delayed(&mdsc->metric); in ceph_metric_bind_session()
117 struct ceph_mds_client *mdsc) in parse_reply_info_in() argument
407 struct ceph_mds_client *mdsc) in parse_reply_info_trace() argument
412 err = parse_reply_info_in(p, end, &info->diri, features, mdsc); in parse_reply_info_trace()
433 mdsc); in parse_reply_info_trace()
[all …]
H A Dcaps.c49 static u64 __get_oldest_flush_tid(struct ceph_mds_client *mdsc);
50 static void __kick_flushing_caps(struct ceph_mds_client *mdsc,
131 void ceph_caps_init(struct ceph_mds_client *mdsc) in ceph_caps_init() argument
133 INIT_LIST_HEAD(&mdsc->caps_list); in ceph_caps_init()
134 spin_lock_init(&mdsc->caps_list_lock); in ceph_caps_init()
137 void ceph_caps_finalize(struct ceph_mds_client *mdsc) in ceph_caps_finalize() argument
141 spin_lock(&mdsc->caps_list_lock); in ceph_caps_finalize()
142 while (!list_empty(&mdsc->caps_list)) { in ceph_caps_finalize()
143 cap = list_first_entry(&mdsc->caps_list, in ceph_caps_finalize()
148 mdsc->caps_total_count = 0; in ceph_caps_finalize()
[all …]
H A Ddebugfs.c63 if (!fsc->mdsc || !fsc->mdsc->mdsmap) in mdsmap_show()
65 mdsmap = fsc->mdsc->mdsmap; in mdsmap_show()
87 struct ceph_mds_client *mdsc = fsc->mdsc; in mdsc_show() local
92 mutex_lock(&mdsc->mutex); in mdsc_show()
93 for (rp = rb_first(&mdsc->request_tree); rp; rp = rb_next(rp)) { in mdsc_show()
115 path = ceph_mdsc_build_path(mdsc, req->r_dentry, &path_info, 0); in mdsc_show()
134 path = ceph_mdsc_build_path(mdsc, req->r_old_dentry, &path_info, 0); in mdsc_show()
155 mutex_unlock(&mdsc->mutex); in mdsc_show()
182 struct ceph_client_metric *m = &fsc->mdsc->metric; in metrics_file_show()
206 struct ceph_client_metric *cm = &fsc->mdsc->metric; in metrics_latency_show()
[all …]
H A Dioctl.c38 static long __validate_layout(struct ceph_mds_client *mdsc, in __validate_layout() argument
51 mutex_lock(&mdsc->mutex); in __validate_layout()
53 for (i = 0; i < mdsc->mdsmap->m_num_data_pg_pools; i++) in __validate_layout()
54 if (mdsc->mdsmap->m_data_pg_pools[i] == l->data_pool) { in __validate_layout()
58 mutex_unlock(&mdsc->mutex); in __validate_layout()
68 struct ceph_mds_client *mdsc = ceph_sb_to_fs_client(inode->i_sb)->mdsc; in ceph_ioctl_set_layout() local
104 err = __validate_layout(mdsc, &nl); in ceph_ioctl_set_layout()
108 req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_SETLAYOUT, in ceph_ioctl_set_layout()
126 err = ceph_mdsc_do_request(mdsc, NULL, req); in ceph_ioctl_set_layout()
143 struct ceph_mds_client *mdsc = ceph_sb_to_fs_client(inode->i_sb)->mdsc; in ceph_ioctl_set_layout_policy() local
[all …]
H A Ddir.c42 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(dentry->d_sb); in ceph_d_init() local
54 atomic64_inc(&mdsc->metric.total_dentries); in ceph_d_init()
323 struct ceph_mds_client *mdsc = fsc->mdsc; in ceph_readdir() local
366 __ceph_touch_fmode(ci, mdsc, CEPH_FILE_MODE_WR); in ceph_readdir()
409 req = ceph_mdsc_create_request(mdsc, op, USE_AUTH_MDS); in ceph_readdir()
456 err = ceph_mdsc_do_request(mdsc, NULL, req); in ceph_readdir()
800 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(dir->i_sb); in ceph_lookup() local
840 __ceph_touch_fmode(ci, mdsc, CEPH_FILE_MODE_RD); in ceph_lookup()
854 req = ceph_mdsc_create_request(mdsc, op, USE_ANY_MDS); in ceph_lookup()
868 err = ceph_mdsc_do_request(mdsc, NULL, req); in ceph_lookup()
[all …]
H A Dmds_client.h275 typedef void (*ceph_mds_request_callback_t) (struct ceph_mds_client *mdsc,
280 typedef int (*ceph_mds_request_wait_callback_t) (struct ceph_mds_client *mdsc,
580 extern void ceph_mdsc_close_sessions(struct ceph_mds_client *mdsc);
581 extern void ceph_mdsc_force_umount(struct ceph_mds_client *mdsc);
584 extern void ceph_mdsc_sync(struct ceph_mds_client *mdsc);
590 ceph_mdsc_create_request(struct ceph_mds_client *mdsc, int op, int mode);
591 extern int ceph_mdsc_submit_request(struct ceph_mds_client *mdsc,
594 int ceph_mdsc_wait_request(struct ceph_mds_client *mdsc,
597 extern int ceph_mdsc_do_request(struct ceph_mds_client *mdsc,
613 extern void ceph_mdsc_iterate_sessions(struct ceph_mds_client *mdsc,
[all …]
H A Dmetric.c91 static bool ceph_mdsc_send_metrics(struct ceph_mds_client *mdsc, in ceph_mdsc_send_metrics() argument
105 struct ceph_client_metric *m = &mdsc->metric; in ceph_mdsc_send_metrics()
109 struct ceph_client *cl = mdsc->fsc->client; in ceph_mdsc_send_metrics()
119 mutex_lock(&mdsc->mutex); in ceph_mdsc_send_metrics()
120 if (ceph_mdsmap_get_state(mdsc->mdsmap, s->s_mds) != CEPH_MDS_STATE_ACTIVE) { in ceph_mdsc_send_metrics()
121 mutex_unlock(&mdsc->mutex); in ceph_mdsc_send_metrics()
124 mutex_unlock(&mdsc->mutex); in ceph_mdsc_send_metrics()
126 if (ceph_subvolume_metrics_enabled(&mdsc->subvol_metrics) && in ceph_mdsc_send_metrics()
130 ret = ceph_subvolume_metrics_snapshot(&mdsc->subvol_metrics, in ceph_mdsc_send_metrics()
318 mutex_lock(&mdsc->subvol_metrics_last_mutex); in ceph_mdsc_send_metrics()
[all …]
H A Dsuper.c55 ceph_mdsc_close_sessions(fsc->mdsc); in ceph_put_super()
68 if (fsc->mdsc->mdsmap->m_num_data_pg_pools == 1) { in ceph_statfs()
69 data_pool = fsc->mdsc->mdsmap->m_data_pg_pools[0]; in ceph_statfs()
132 ceph_flush_dirty_caps(fsc->mdsc); in ceph_sync_fs()
133 ceph_flush_cap_releases(fsc->mdsc); in ceph_sync_fs()
140 ceph_mdsc_sync(fsc->mdsc); in ceph_sync_fs()
792 ceph_mdsc_handle_mdsmap(fsc->mdsc, msg); in extra_mon_dispatch()
795 ceph_mdsc_handle_fsmap(fsc->mdsc, msg); in extra_mon_dispatch()
1020 ceph_mdsc_force_umount(fsc->mdsc); in __ceph_umount_begin()
1060 struct ceph_mds_client *mdsc = fsc->mdsc; in open_root_dentry() local
[all …]
H A Dexport.c133 struct ceph_mds_client *mdsc = ceph_sb_to_fs_client(sb)->mdsc; in __lookup_inode() local
149 req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_LOOKUPINO, in __lookup_inode()
161 err = ceph_mdsc_do_request(mdsc, NULL, req); in __lookup_inode()
215 struct ceph_mds_client *mdsc = ceph_sb_to_fs_client(sb)->mdsc; in __snapfh_to_dentry() local
216 struct ceph_client *cl = mdsc->fsc->client; in __snapfh_to_dentry()
249 req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_LOOKUPINO, in __snapfh_to_dentry()
270 err = ceph_mdsc_do_request(mdsc, NULL, req); in __snapfh_to_dentry()
326 struct ceph_mds_client *mdsc = ceph_sb_to_fs_client(sb)->mdsc; in __get_parent() local
332 req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_LOOKUPPARENT, in __get_parent()
353 err = ceph_mdsc_do_request(mdsc, NULL, req); in __get_parent()
[all …]
H A Dsuper.h163 struct ceph_mds_client *mdsc; member
544 return (struct ceph_mds_client *)ceph_sb_to_fs_client(sb)->mdsc; in ceph_sb_to_mdsc()
849 extern void ceph_caps_init(struct ceph_mds_client *mdsc);
850 extern void ceph_caps_finalize(struct ceph_mds_client *mdsc);
851 extern void ceph_adjust_caps_max_min(struct ceph_mds_client *mdsc,
853 extern int ceph_reserve_caps(struct ceph_mds_client *mdsc,
855 extern void ceph_unreserve_caps(struct ceph_mds_client *mdsc,
1023 struct ceph_snap_realm *ceph_lookup_snap_realm(struct ceph_mds_client *mdsc,
1025 extern void ceph_get_snap_realm(struct ceph_mds_client *mdsc,
1027 extern void ceph_put_snap_realm(struct ceph_mds_client *mdsc,
[all …]
H A Dlocks.c14 static int ceph_lock_wait_for_completion(struct ceph_mds_client *mdsc,
79 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_lock_message() local
80 struct ceph_client *cl = mdsc->fsc->client; in ceph_lock_message()
100 req = ceph_mdsc_create_request(mdsc, operation, USE_AUTH_MDS); in ceph_lock_message()
129 err = ceph_mdsc_submit_request(mdsc, inode, req); in ceph_lock_message()
131 err = ceph_mdsc_wait_request(mdsc, req, wait ? in ceph_lock_message()
159 static int ceph_lock_wait_for_completion(struct ceph_mds_client *mdsc, in ceph_lock_wait_for_completion() argument
162 struct ceph_client *cl = mdsc->fsc->client; in ceph_lock_wait_for_completion()
182 mutex_lock(&mdsc->mutex); in ceph_lock_wait_for_completion()
201 mutex_unlock(&mdsc->mutex); in ceph_lock_wait_for_completion()
[all …]
H A Daddr.c86 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_dirty_folio() local
97 atomic64_inc(&mdsc->dirty_folios); in ceph_dirty_folio()
223 ceph_update_read_metrics(&fsc->mdsc->metric, req->r_start_latency, in finish_netfs_read()
263 ceph_subvolume_metrics_record_io(fsc->mdsc, ceph_inode(inode), in finish_netfs_read()
274 ceph_dec_osd_stopping_blocker(fsc->mdsc); in finish_netfs_read()
284 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_netfs_issue_op_inline() local
300 req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_GETATTR, mode); in ceph_netfs_issue_op_inline()
310 err = ceph_mdsc_do_request(mdsc, NULL, req); in ceph_netfs_issue_op_inline()
443 if (!ceph_inc_osd_stopping_blocker(fsc->mdsc)) { in ceph_netfs_issue_read()
829 ceph_update_write_metrics(&fsc->mdsc->metric, req->r_start_latency, in write_folio_nounlock()
[all …]
H A Dinode.c48 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_set_ino_cb() local
53 percpu_counter_inc(&mdsc->metric.total_inodes); in ceph_set_ino_cb()
180 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(sb); in ceph_get_inode() local
181 struct ceph_client *cl = mdsc->fsc->client; in ceph_get_inode()
737 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_evict_inode() local
744 percpu_counter_dec(&mdsc->metric.total_inodes); in ceph_evict_inode()
772 ceph_put_snapid_map(mdsc, ci->i_snapid_map); in ceph_evict_inode()
975 static int decode_encrypted_symlink(struct ceph_mds_client *mdsc, in decode_encrypted_symlink() argument
979 struct ceph_client *cl = mdsc->fsc->client; in decode_encrypted_symlink()
1000 static int decode_encrypted_symlink(struct ceph_mds_client *mdsc, in decode_encrypted_symlink() argument
[all …]
H A Dfile.c42 static __le32 ceph_flags_sys2wire(struct ceph_mds_client *mdsc, u32 flags) in ceph_flags_sys2wire() argument
44 struct ceph_client *cl = mdsc->fsc->client; in ceph_flags_sys2wire()
201 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(sb); in prepare_open_request() local
209 req = ceph_mdsc_create_request(mdsc, op, want_auth); in prepare_open_request()
213 req->r_args.open.flags = ceph_flags_sys2wire(mdsc, flags); in prepare_open_request()
321 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_renew_caps() local
322 struct ceph_client *cl = mdsc->fsc->client; in ceph_renew_caps()
328 __ceph_touch_fmode(ci, mdsc, fmode); in ceph_renew_caps()
364 err = ceph_mdsc_do_request(mdsc, NULL, req); in ceph_renew_caps()
383 struct ceph_mds_client *mdsc = fsc->mdsc; in ceph_open() local
[all …]
H A Dxattr.c1113 struct ceph_mds_client *mdsc = fsc->mdsc; in ceph_sync_setxattr() local
1138 req = ceph_mdsc_create_request(mdsc, op, USE_AUTH_MDS); in ceph_sync_setxattr()
1165 err = ceph_mdsc_do_request(mdsc, NULL, req); in ceph_sync_setxattr()
1181 struct ceph_mds_client *mdsc = ceph_sb_to_fs_client(inode->i_sb)->mdsc; in __ceph_setxattr() local
1236 (required_blob_size > mdsc->mdsmap->m_max_xattr_size)) { in __ceph_setxattr()
1239 mdsc->mdsmap->m_max_xattr_size); in __ceph_setxattr()
1245 if (!down_read_trylock(&mdsc->snap_rwsem)) { in __ceph_setxattr()
1247 down_read(&mdsc->snap_rwsem); in __ceph_setxattr()
1267 if (required_blob_size > mdsc->mdsmap->m_max_xattr_size) { in __ceph_setxattr()
1269 required_blob_size, mdsc->mdsmap->m_max_xattr_size); in __ceph_setxattr()
[all …]
H A Dmdsmap.c118 struct ceph_mdsmap *ceph_mdsmap_decode(struct ceph_mds_client *mdsc, void **p, in ceph_mdsmap_decode() argument
121 struct ceph_client *cl = mdsc->fsc->client; in ceph_mdsmap_decode()
371 if (!namespace_equals(mdsc->fsc->mount_options, m->m_fs_name, in ceph_mdsmap_decode()
375 mdsc->fsc->mount_options->mds_namespace); in ceph_mdsmap_decode()
H A Dsubvolume_metrics.c370 void ceph_subvolume_metrics_record_io(struct ceph_mds_client *mdsc, in ceph_subvolume_metrics_record_io() argument
379 if (!mdsc || !ci || !bytes) in ceph_subvolume_metrics_record_io()
382 tracker = &mdsc->subvol_metrics; in ceph_subvolume_metrics_record_io()
H A Dmdsmap.h75 struct ceph_mdsmap *ceph_mdsmap_decode(struct ceph_mds_client *mdsc, void **p,
H A Dsubvolume_metrics.h83 void ceph_subvolume_metrics_record_io(struct ceph_mds_client *mdsc,
/linux/include/trace/events/
H A Dceph.h53 TP_PROTO(struct ceph_mds_client *mdsc,
56 TP_ARGS(mdsc, req),
90 TP_PROTO(struct ceph_mds_client *mdsc,
95 TP_ARGS(mdsc, session, req, reason),
118 TP_PROTO(struct ceph_mds_client *mdsc,
121 TP_ARGS(mdsc, req),
163 TP_PROTO(struct ceph_mds_client *mdsc,
166 TP_ARGS(mdsc, req),
190 TP_PROTO(struct ceph_mds_client *mdsc,
197 TP_ARGS(mdsc, session, op, vino, inode, seq, mseq, issue_seq),