[lxc-devel] [PATCH 1/2] lxc-netstat: improve finding fs mountpoint of hierarchy

Natanael Copa ncopa at alpinelinux.org
Wed Dec 26 09:07:03 UTC 2012


We cannot assume that the mount source name always starts with 'cgroup'
so we check the filesystem type instead.

Use 'awk' instead of 'grep -E' and  as it is a better tool for this job.

This fixes the tool on systems using openrc.

Signed-off-by: Natanael Copa <ncopa at alpinelinux.org>
---
 src/lxc/lxc-netstat.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lxc/lxc-netstat.in b/src/lxc/lxc-netstat.in
index 87bd3eb..6d08ce3 100644
--- a/src/lxc/lxc-netstat.in
+++ b/src/lxc/lxc-netstat.in
@@ -51,7 +51,8 @@ get_parent_cgroup()
         init_cgroup=${fields#*:}
 
         # Get the filesystem mountpoint of the hierarchy
-        mountpoint=$(grep -E "^cgroup [^ ]+ [^ ]+ ([^ ]+,)?$subsystems(,[^ ]+)? " /proc/self/mounts | cut -d ' ' -f 2)
+        mountpoint=$(awk -v subsysregex="(^|,)$subsystems(,|\$)" \
+            '$3 == "cgroup" && $4 ~ subsysregex {print $2}' /proc/self/mounts)
         if [ -z "$mountpoint" ]; then continue; fi
 
         # Return the absolute path to the containers' parent cgroup
-- 
1.8.0.2





More information about the lxc-devel mailing list