+static struct lprocfs_vars lprocfs_mdt_obd_vars[] = {
+ { .name = "uuid",
+ .fops = &mdt_uuid_fops },
+ { .name = "recovery_status",
+ .fops = &mdt_recovery_status_fops },
+ { .name = "num_exports",
+ .fops = &mdt_num_exports_fops },
+ { .name = "identity_expire",
+ .fops = &mdt_identity_expire_fops },
+ { .name = "identity_acquire_expire",
+ .fops = &mdt_identity_acquire_expire_fops },
+ { .name = "identity_upcall",
+ .fops = &mdt_identity_upcall_fops },
+ { .name = "identity_flush",
+ .fops = &mdt_identity_flush_fops },
+ { .name = "identity_info",
+ .fops = &mdt_identity_info_fops },
+ { .name = "capa",
+ .fops = &mdt_capa_fops },
+ { .name = "capa_timeout",
+ .fops = &mdt_capa_timeout_fops },
+ { .name = "capa_key_timeout",
+ .fops = &mdt_ck_timeout_fops },
+ { .name = "capa_count",
+ .fops = &mdt_capa_count_fops },
+ { .name = "site_stats",
+ .fops = &mdt_site_stats_fops },
+ { .name = "evict_client",
+ .fops = &mdt_mds_evict_client_fops },
+ { .name = "hash_stats",
+ .fops = &mdt_hash_fops },
+ { .name = "sec_level",
+ .fops = &mdt_sec_level_fops },
+ { .name = "commit_on_sharing",
+ .fops = &mdt_cos_fops },
+ { .name = "root_squash",
+ .fops = &mdt_root_squash_fops },
+ { .name = "nosquash_nids",
+ .fops = &mdt_nosquash_nids_fops },
+ { .name = "instance",
+ .fops = &mdt_target_instance_fops },
+ { .name = "ir_factor",
+ .fops = &mdt_ir_factor_fops },
+ { .name = "job_cleanup_interval",
+ .fops = &mdt_job_interval_fops },
+ { .name = "enable_remote_dir",
+ .fops = &mdt_enable_remote_dir_fops },
+ { .name = "enable_remote_dir_gid",
+ .fops = &mdt_enable_remote_dir_gid_fops },
+ { .name = "hsm_control",
+ .fops = &mdt_hsm_cdt_control_fops },
+ { NULL }
+};
+
+static int lprocfs_mdt_print_open_files(cfs_hash_t *hs, cfs_hash_bd_t *bd,
+ struct hlist_node *hnode, void *v)
+{
+ struct obd_export *exp = cfs_hash_object(hs, hnode);
+ struct seq_file *seq = v;
+
+ if (exp->exp_lock_hash != NULL) {
+ struct mdt_export_data *med = &exp->exp_mdt_data;
+ struct mdt_file_data *mfd;
+
+ spin_lock(&med->med_open_lock);
+ list_for_each_entry(mfd, &med->med_open_head, mfd_list) {
+ seq_printf(seq, DFID"\n",
+ PFID(mdt_object_fid(mfd->mfd_object)));
+ }
+ spin_unlock(&med->med_open_lock);
+ }
+
+ return 0;