Whamcloud - gitweb
Revert "b=21501 flock in process hangs on eviction, does not fail"
[fs/lustre-release.git] / lustre / liblustre / llite_lib.c
index 232ce2b..9003491 100644 (file)
 #include <file.h>
 #endif
 
-/* both sys/queue.h (libsysio require it) and portals/lists.h have definition
- * of 'LIST_HEAD'. undef it to suppress warnings
- */
-#undef LIST_HEAD
 #include <liblustre.h>
 #include <lnet/lnetctl.h>     /* needed for parse_dump */
 
@@ -94,7 +90,6 @@ int liblustre_process_log(struct config_llog_instance *cfg,
         struct lustre_cfg *lcfg;
         char  *peer = "MGS_UUID";
         struct obd_device *obd;
-        struct lustre_handle mgc_conn = {0, };
         struct obd_export *exp;
         char  *name = "mgc_dev";
         class_uuid_t uuid;
@@ -178,21 +173,19 @@ int liblustre_process_log(struct config_llog_instance *cfg,
                 GOTO(out_cleanup, rc = -ENOMEM);
 
         ocd->ocd_connect_flags = OBD_CONNECT_VERSION | OBD_CONNECT_FID |
-                                 OBD_CONNECT_AT;
+                                 OBD_CONNECT_AT | OBD_CONNECT_VBR;
 #ifdef LIBLUSTRE_POSIX_ACL
         ocd->ocd_connect_flags |= OBD_CONNECT_ACL;
 #endif
         ocd->ocd_version = LUSTRE_VERSION_CODE;
 
-        rc = obd_connect(NULL, &mgc_conn, obd, &mgc_uuid, ocd, NULL);
+        rc = obd_connect(NULL, &exp, obd, &mgc_uuid, ocd, NULL);
         if (rc) {
                 CERROR("cannot connect to %s at %s: rc = %d\n",
                        LUSTRE_MGS_OBDNAME, mgsnid, rc);
                 GOTO(out_cleanup, rc);
         }
 
-        exp = class_conn2export(&mgc_conn);
-
         ctxt = llog_get_context(exp->exp_obd, LLOG_CONFIG_REPL_CTXT);
         cfg->cfg_flags |= CFG_F_COMPAT146;
         rc = class_config_parse_llog(ctxt, profile, cfg);
@@ -412,7 +405,7 @@ void __liblustre_cleanup_(void)
          * but it can't fix the situation that liblustre is mounted
          * at "/".
          */
-        chdir("/");
+        if (!chdir("/")) {}
 #if 0
         umount(lustre_path);
 #endif