Whamcloud - gitweb
cleanup usage obd_set_info_async, obd_get_info.
[fs/lustre-release.git] / lustre / mgc / mgc_request.c
index 39a5632..37135c5 100644 (file)
@@ -92,7 +92,7 @@ int mgc_logname2resid(char *logname, struct ldlm_res_id *res_id)
 }
 
 /********************** config llog list **********************/
-static struct list_head config_llog_list = LIST_HEAD_INIT(config_llog_list);
+static CFS_LIST_HEAD(config_llog_list);
 static spinlock_t       config_list_lock = SPIN_LOCK_UNLOCKED;
 
 /* Take a reference to a config log */
@@ -772,33 +772,6 @@ static int mgc_target_register(struct obd_export *exp,
         RETURN(rc);
 }
 
-int mgc_reconnect_import(struct obd_import *imp)
-{
-        /* Force a new connect attempt */
-        ptlrpc_invalidate_import(imp);
-        /* Do a fresh connect next time by zeroing the handle */
-        ptlrpc_disconnect_import(imp, 1);
-        /* Wait for all invalidate calls to finish */
-        if (atomic_read(&imp->imp_inval_count) > 0) {
-                int rc;
-                struct l_wait_info lwi = LWI_INTR(LWI_ON_SIGNAL_NOOP, NULL);
-                rc = l_wait_event(imp->imp_recovery_waitq,
-                                  (atomic_read(&imp->imp_inval_count) == 0),
-                                  &lwi);
-                if (rc)
-                        CERROR("Interrupted, inval=%d\n",
-                               atomic_read(&imp->imp_inval_count));
-        }
-
-        /* Allow reconnect attempts */
-        imp->imp_obd->obd_no_recov = 0;
-        /* Remove 'invalid' flag */
-        ptlrpc_activate_import(imp);
-        /* Attempt a new connect */
-        ptlrpc_recover_import(imp, NULL);
-        return 0;
-}
-
 int mgc_set_info_async(struct obd_export *exp, obd_count keylen,
                        void *key, obd_count vallen, void *val,
                        struct ptlrpc_request_set *set)
@@ -837,11 +810,11 @@ int mgc_set_info_async(struct obd_export *exp, obd_count keylen,
                        ptlrpc_import_state_name(imp->imp_state));
                 /* Resurrect if we previously died */
                 if (imp->imp_invalid || value > 1)
-                        mgc_reconnect_import(imp);
+                        ptlrpc_reconnect_import(imp);
                 RETURN(0);
         }
         /* FIXME move this to mgc_process_config */
-        if (KEY_IS("register_target")) {
+        if (KEY_IS(KEY_REGISTER_TARGET)) {
                 struct mgs_target_info *mti;
                 if (vallen != sizeof(struct mgs_target_info))
                         RETURN(-EINVAL);
@@ -851,7 +824,7 @@ int mgc_set_info_async(struct obd_export *exp, obd_count keylen,
                 rc =  mgc_target_register(exp, mti);
                 RETURN(rc);
         }
-        if (KEY_IS("set_fs")) {
+        if (KEY_IS(KEY_SET_FS)) {
                 struct super_block *sb = (struct super_block *)val;
                 struct lustre_sb_info *lsi;
                 if (vallen != sizeof(struct super_block))
@@ -863,7 +836,7 @@ int mgc_set_info_async(struct obd_export *exp, obd_count keylen,
                 }
                 RETURN(rc);
         }
-        if (KEY_IS("clear_fs")) {
+        if (KEY_IS(KEY_CLEAR_FS)) {
                 if (vallen != 0)
                         RETURN(-EINVAL);
                 rc = mgc_fs_cleanup(exp->exp_obd);
@@ -895,7 +868,6 @@ static int mgc_import_event(struct obd_device *obd,
         switch (event) {
         case IMP_EVENT_DISCON:
                 /* MGC imports should not wait for recovery */
-                ptlrpc_invalidate_import(imp);
                 break;
         case IMP_EVENT_INACTIVE:
                 break;
@@ -1156,8 +1128,9 @@ static int mgc_process_log(struct obd_device *mgc,
                                                    "\n", cld->cld_logname);
                                 GOTO(out_pop, rc = -ENOTCONN);
                         }
-                        LCONSOLE_WARN("Failed to get MGS log %s, using "
-                                      "local copy.\n", cld->cld_logname);
+                        CDEBUG(D_MGC, "Failed to get MGS log %s, using local "
+                                      "copy for now, will try to update later.\n",
+                               cld->cld_logname);
                 }
                 /* Now, whether we copied or not, start using the local llog.
                    If we failed to copy, we'll start using whatever the old