X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmgs%2Fmgs_handler.c;h=3c006c5a868a37a193fa7bfd927406e5635af30f;hb=2d15edc7be83555a7fa17a666d99b6af4922ab82;hp=48209ac1cdfee8bf78df83e1982f514bdd685802;hpb=a44f229bcfd8636517460788753070f8af2b0ebf;p=fs%2Flustre-release.git diff --git a/lustre/mgs/mgs_handler.c b/lustre/mgs/mgs_handler.c index 48209ac..3c006c5 100644 --- a/lustre/mgs/mgs_handler.c +++ b/lustre/mgs/mgs_handler.c @@ -60,6 +60,7 @@ static int mgs_connect(struct tgt_session_info *tsi) ENTRY; + CFS_FAIL_TIMEOUT(OBD_FAIL_MGS_CONNECT_NET, cfs_fail_val); rc = tgt_connect(tsi); if (rc) RETURN(rc); @@ -114,6 +115,8 @@ static int mgs_set_info(struct tgt_session_info *tsi) lustre_cfg_bufs_reset(&mgi->mgi_bufs, NULL); lustre_cfg_bufs_set_string(&mgi->mgi_bufs, 1, msp->mgs_param); lcfg = lustre_cfg_new(LCFG_PARAM, &mgi->mgi_bufs); + if (lcfg == NULL) + RETURN(-ENOMEM); rc = mgs_setparam(tsi->tsi_env, exp2mgs_dev(tsi->tsi_exp), lcfg, mgi->mgi_fsname); @@ -144,8 +147,7 @@ static int mgs_completion_ast_generic(struct ldlm_lock *lock, __u64 flags, { ENTRY; - if (!(flags & (LDLM_FL_BLOCK_WAIT | LDLM_FL_BLOCK_GRANTED | - LDLM_FL_BLOCK_CONV))) { + if (!(flags & LDLM_FL_BLOCKED_MASK)) { struct fs_db *fsdb; /* l_ast_data is used as a marker to avoid cancel ldlm lock @@ -539,11 +541,14 @@ static int mgs_llog_open(struct tgt_session_info *tsi) logname = req_capsule_client_get(tsi->tsi_pill, &RMF_NAME); if (logname) { char *ptr = strchr(logname, '-'); - int len = (int)(ptr - logname); + int len = (ptr != NULL) ? (int)(ptr - logname) : 0; if (ptr == NULL || len >= sizeof(mgi->mgi_fsname)) { - LCONSOLE_WARN("%s: non-config logname received: %s\n", - tgt_name(tsi->tsi_tgt), logname); + if (strcmp(logname, PARAMS_FILENAME) != 0) + LCONSOLE_WARN("%s: non-config logname " + "received: %s\n", + tgt_name(tsi->tsi_tgt), + logname); /* not error, this can be llog test name */ } else { strncpy(mgi->mgi_fsname, logname, len); @@ -574,7 +579,7 @@ static inline int mgs_init_export(struct obd_export *exp) /* init mgs_export_data for fsc */ spin_lock_init(&data->med_lock); - CFS_INIT_LIST_HEAD(&data->med_clients); + INIT_LIST_HEAD(&data->med_clients); spin_lock(&exp->exp_lock); exp->exp_connecting = 1; @@ -1232,7 +1237,7 @@ err_ops: obd_disconnect(mgs->mgs_bottom_exp); err_lmi: if (lmi) - server_put_mount(lustre_cfg_string(lcfg, 0)); + server_put_mount(lustre_cfg_string(lcfg, 0), true); RETURN(rc); } @@ -1404,7 +1409,7 @@ static struct lu_device *mgs_device_fini(const struct lu_env *env, LASSERT(mgs->mgs_bottom_exp); obd_disconnect(mgs->mgs_bottom_exp); - server_put_mount(obd->obd_name); + server_put_mount(obd->obd_name, true); RETURN(NULL); } @@ -1526,9 +1531,6 @@ static struct obd_ops mgs_obd_device_ops = { static int __init mgs_init(void) { return class_register_type(&mgs_obd_device_ops, NULL, true, NULL, -#ifndef HAVE_ONLY_PROCFS_SEQ - NULL, -#endif LUSTRE_MGS_NAME, &mgs_device_type); }