2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 14:25:49 +00:00

pid: Add ns::pid::rb_root

Add a per-ns rb tree to link pids. Should replace global pid_root_rb.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
This commit is contained in:
Kirill Tkhai
2017-04-10 11:17:51 +03:00
committed by Andrei Vagin
parent 74cc3a4f5d
commit 65fe92b94c
2 changed files with 6 additions and 1 deletions

View File

@@ -149,6 +149,9 @@ struct ns_id {
UsernsEntry *e;
int nsfd_id;
} user;
struct {
struct rb_root rb_root;
} pid;
};
};
extern struct ns_id *ns_ids;

View File

@@ -309,7 +309,8 @@ struct ns_id *rst_new_ns_id(unsigned int id, pid_t pid,
INIT_LIST_HEAD(&nsid->net.ids);
INIT_LIST_HEAD(&nsid->net.links);
nsid->net.netns = NULL;
}
} else if (nd == &pid_ns_desc)
nsid->pid.rb_root = RB_ROOT;
}
return nsid;
@@ -435,6 +436,7 @@ static unsigned int generate_ns_id(int pid, unsigned int kid, struct ns_desc *nd
INIT_LIST_HEAD(&nsid->net.ids);
INIT_LIST_HEAD(&nsid->net.links);
} else if (nd == &pid_ns_desc) {
nsid->pid.rb_root = RB_ROOT;
if (type == NS_ROOT || (type == NS_CRIU && !top_pid_ns))
top_pid_ns = nsid;
}