Whamcloud - gitweb
new upstream libsysio snapshot (20041101)
[fs/lustre-release.git] / libsysio / tests / startup.c
index 82a92cb..fcb54d4 100644 (file)
@@ -13,6 +13,7 @@ int
 _test_sysio_startup()
 {
        int     err;
+       const char *cwd;
        const char *s;
 
        err = _sysio_init();
@@ -22,23 +23,28 @@ _test_sysio_startup()
        if (err)
                return err;
        s = getenv("SYSIO_NAMESPACE");
-       if (s)
-               err = _sysio_boot(s);
-       else if (!(s = getenv("SYSIO_MANUAL"))) {
+       if (!(s || (s = getenv("SYSIO_MANUAL")))) {
                /*
                 * Assume a native mount at root.
                 */
-               err = _sysio_boot("{mnt,dev=\"native:/\",dir=/,fl=0}");
+               s = "{mnt,dev=\"native:/\",dir=/,fl=0}";
        }
+       cwd = getenv("SYSIO_CWD");
+#if DEFER_INIT_CWD
+       err = _sysio_boot(s, cwd ? cwd : "/");
+#else
+       err = _sysio_boot(s);
+#endif
        if (err)
                return err;
 
-       s = getenv("SYSIO_CWD");
-       if (s) {
-               err = chdir(s);
-               if (err)
-                       return err;
-       }
+#if !DEFER_INIT_CWD
+       if (!cwd)
+               s = "/";
+       err = chdir(s);
+       if (err)
+               return err;
+#endif
 
        return 0;
 }