From: Mathieu Desnoyers Date: Tue, 3 Sep 2013 04:12:34 +0000 (-0400) Subject: Fix: statedump nsproxy 3.11 Linux support X-Git-Tag: v2.3.0~7 X-Git-Url: https://git.lttng.org/?p=lttng-modules.git;a=commitdiff_plain;h=3247f8bdd114fca353868caaf014f1806241293f Fix: statedump nsproxy 3.11 Linux support Follow upstream Linux change introduced by: commit c2b1df2eb42978073ec27c99cc199d20ae48b849 Author: Andy Lutomirski Date: Thu Aug 22 11:39:16 2013 -0700 Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children Signed-off-by: Mathieu Desnoyers --- diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c index 04acf6ef..bf9457b5 100644 --- a/lttng-statedump-impl.c +++ b/lttng-statedump-impl.c @@ -50,6 +50,7 @@ #include "wrapper/irqdesc.h" #include "wrapper/spinlock.h" #include "wrapper/fdtable.h" +#include "wrapper/nsproxy.h" #ifdef CONFIG_GENERIC_HARDIRQS #include @@ -295,7 +296,7 @@ void lttng_statedump_process_ns(struct lttng_session *session, rcu_read_lock(); proxy = task_nsproxy(p); if (proxy) { - pid_ns = proxy->pid_ns; + pid_ns = lttng_get_proxy_pid_ns(proxy); do { trace_lttng_statedump_process_state(session, p, type, mode, submode, status, pid_ns); diff --git a/wrapper/nsproxy.h b/wrapper/nsproxy.h new file mode 100644 index 00000000..e9766efc --- /dev/null +++ b/wrapper/nsproxy.h @@ -0,0 +1,42 @@ +#ifndef _LTTNG_WRAPPER_NSPROXY_H +#define _LTTNG_WRAPPER_NSPROXY_H + +/* + * wrapper/nsproxy.h + * + * Copyright (C) 2011-2012 Mathieu Desnoyers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; only + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) +static inline +struct pid_namespace *lttng_get_proxy_pid_ns(struct nsproxy *proxy) +{ + return proxy->pid_ns_for_children; +} +#else +static inline +struct pid_namespace *lttng_get_proxy_pid_ns(struct nsproxy *proxy) +{ + return proxy->pid_ns; +} +#endif + + +#endif /* _LTTNG_WRAPPER_NSPROXY_H */