int seq_site_fini(const struct lu_env *env, struct seq_server_site *ss) { if (ss == NULL) RETURN(0); if (ss->ss_server_seq) { seq_server_fini(ss->ss_server_seq, env); OBD_FREE_PTR(ss->ss_server_seq); ss->ss_server_seq = NULL; } if (ss->ss_control_seq) { seq_server_fini(ss->ss_control_seq, env); OBD_FREE_PTR(ss->ss_control_seq); ss->ss_control_seq = NULL; } if (ss->ss_client_seq) { seq_client_fini(ss->ss_client_seq); OBD_FREE_PTR(ss->ss_client_seq); ss->ss_client_seq = NULL; } RETURN(0); }
static int seq_client_init(struct lu_client_seq *seq, struct obd_export *exp, enum lu_cli_type type, const char *prefix) { int rc; LASSERT(seq); LASSERT(prefix); seq->lcs_type = type; mutex_init(&seq->lcs_mutex); if (type == LUSTRE_SEQ_METADATA) seq->lcs_width = LUSTRE_METADATA_SEQ_MAX_WIDTH; else seq->lcs_width = LUSTRE_DATA_SEQ_MAX_WIDTH; init_waitqueue_head(&seq->lcs_waitq); /* Make sure that things are clear before work is started. */ seq_client_flush(seq); seq->lcs_exp = class_export_get(exp); snprintf(seq->lcs_name, sizeof(seq->lcs_name), "cli-%s", prefix); rc = seq_client_debugfs_init(seq); if (rc) seq_client_fini(seq); return rc; }
int client_fid_fini(struct obd_device *obd) { struct client_obd *cli = &obd->u.cli; if (cli->cl_seq) { seq_client_fini(cli->cl_seq); kfree(cli->cl_seq); cli->cl_seq = NULL; } return 0; }
int client_fid_fini(struct obd_device *obd) { struct client_obd *cli = &obd->u.cli; if (cli->cl_seq != NULL) { seq_client_fini(cli->cl_seq); OBD_FREE_PTR(cli->cl_seq); cli->cl_seq = NULL; } return 0; }
int client_fid_fini(struct obd_device *obd) { struct client_obd *cli = &obd->u.cli; ENTRY; if (cli->cl_seq != NULL) { seq_client_fini(cli->cl_seq); OBD_FREE_PTR(cli->cl_seq); cli->cl_seq = NULL; } RETURN(0); }
int seq_client_init(struct lu_client_seq *seq, struct obd_export *exp, enum lu_cli_type type, const char *prefix, struct lu_server_seq *srv) { int rc; ENTRY; LASSERT(seq != NULL); LASSERT(prefix != NULL); seq->lcs_srv = srv; seq->lcs_type = type; mutex_init(&seq->lcs_mutex); if (type == LUSTRE_SEQ_METADATA) seq->lcs_width = LUSTRE_METADATA_SEQ_MAX_WIDTH; else seq->lcs_width = LUSTRE_DATA_SEQ_MAX_WIDTH; cfs_waitq_init(&seq->lcs_waitq); /* Make sure that things are clear before work is started. */ seq_client_flush(seq); if (exp != NULL) seq->lcs_exp = class_export_get(exp); else if (type == LUSTRE_SEQ_METADATA) LASSERT(seq->lcs_srv != NULL); snprintf(seq->lcs_name, sizeof(seq->lcs_name), "cli-%s", prefix); rc = seq_client_proc_init(seq); if (rc) seq_client_fini(seq); RETURN(rc); }