Whamcloud - gitweb
LU-571 ldlm: Remove parallel AST limitation
[fs/lustre-release.git] / libsysio / tests / startup.c
index 82a92cb..033b325 100644 (file)
@@ -4,16 +4,16 @@
 #include <sys/types.h>
 #include <sys/queue.h>
 
-#include "xtio.h"
 #include "test.h"
 
 #include "sysio.h"
+#include "xtio.h"
 
 int
 _test_sysio_startup()
 {
        int     err;
-       const char *s;
+       char    *arg;
 
        err = _sysio_init();
        if (err)
@@ -21,25 +21,39 @@ _test_sysio_startup()
        err = drv_init_all();
        if (err)
                return err;
-       s = getenv("SYSIO_NAMESPACE");
-       if (s)
-               err = _sysio_boot(s);
-       else if (!(s = getenv("SYSIO_MANUAL"))) {
+#ifdef SYSIO_TRACING
+       /*
+        * tracing
+        */
+       arg = getenv("SYSIO_TRACING");
+       err = _sysio_boot("trace", arg);
+       if (err)
+               return err;
+#endif
+       /*
+        * namespace
+        */
+       arg = getenv("SYSIO_NAMESPACE");
+       if (!(arg || (arg = getenv("SYSIO_MANUAL")))) {
                /*
-                * Assume a native mount at root.
+                * Assume a native mount at root with automounts enabled.
                 */
-               err = _sysio_boot("{mnt,dev=\"native:/\",dir=/,fl=0}");
+               arg = "{mnt,dev=\"native:/\",dir=/,fl=2}";
        }
+       err = _sysio_boot("namespace", arg);
        if (err)
                return err;
-
-       s = getenv("SYSIO_CWD");
-       if (s) {
-               err = chdir(s);
-               if (err)
-                       return err;
-       }
-
+#ifdef DEFER_INIT_CWD
+       /*
+        * Current working directory.
+        */
+       arg = getenv("SYSIO_CWD");
+       if (!arg)
+               arg = "/";
+       err = _sysio_boot("cwd", arg);
+       if (err)
+               return err;
+#endif
        return 0;
 }