Whamcloud - gitweb
LU-1445 fid: start ptlrpc service for OST FID
[fs/lustre-release.git] / libsysio / tests / startup.c
index 54c56d1..033b325 100644 (file)
@@ -1,17 +1,19 @@
 #include <stdlib.h>
+#include <string.h>
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/queue.h>
 
-#include "sysio.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)
@@ -19,9 +21,45 @@ _test_sysio_startup()
        err = drv_init_all();
        if (err)
                return err;
-       s = getenv("SYSIO_NAMESPACE");
-       err = s ? _sysio_boot(s) : -ENOTTY;
+#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 with automounts enabled.
+                */
+               arg = "{mnt,dev=\"native:/\",dir=/,fl=2}";
+       }
+       err = _sysio_boot("namespace", arg);
        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;
 }
+
+void
+_test_sysio_shutdown()
+{
+
+       _sysio_shutdown();
+}