#ifndef CLONE_NEWNET
#define CLONE_NEWNET 0x40000000
#endif
+#ifndef CLONE_NEWTIME
+#define CLONE_NEWTIME 0x00000080
+#endif
static int nr_iter = 100;
static int debug = 0;
static int get_ns_inum(const char *ns, ino_t *ns_inum)
{
- int ret = 0;
+ int ret = -1;
struct stat sb;
char proc_ns_path[LTTNG_PROC_NS_PATH_MAX];
"/proc/thread-self/ns/%s", ns) >= 0) {
if (stat(proc_ns_path, &sb) == 0) {
*ns_inum = sb.st_ino;
- } else {
- ret = -1;
+ ret = 0;
}
goto end;
}
"/proc/self/task/%d/%s/net", lttng_gettid(), ns) >= 0) {
if (stat(proc_ns_path, &sb) == 0) {
*ns_inum = sb.st_ino;
- } else {
- ret = -1;
+ ret = 0;
}
goto end;
}
goto end;
}
- if (strncmp(ns_opt, "cgroup", 3) == 0) {
+ if (strncmp(ns_opt, "cgroup", 6) == 0) {
ret = do_the_needful(CLONE_NEWCGROUP, "cgroup");
} else if (strncmp(ns_opt, "ipc", 3) == 0) {
ret = do_the_needful(CLONE_NEWIPC, "ipc");
ret = do_the_needful(CLONE_NEWNET, "net");
} else if (strncmp(ns_opt, "pid", 3) == 0) {
ret = do_the_needful(CLONE_NEWPID, "pid");
- } else if (strncmp(ns_opt, "user", 3) == 0) {
+ } else if (strncmp(ns_opt, "time", 4) == 0) {
+ ret = do_the_needful(CLONE_NEWTIME, "time");
+ } else if (strncmp(ns_opt, "user", 4) == 0) {
/*
* Will always fail, requires a single threaded application,
* which can't happen with UST.