[lxc-devel] [PATCH] legacy ls: only output appropriate directories/containers

Dwight Engen dwight.engen at oracle.com
Tue Feb 12 20:54:47 UTC 2013


For lxc-ls without --active, only output a directory in lxc_path if it
contains a file named config. This avoids extra directories that may
exist in lxc_path, for example .snapshot if lxc_path is an nfs mount.

For lxc-ls with --active, don't output . if there are no active
containers.

Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
---
 src/lxc/legacy/lxc-ls.in | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/lxc/legacy/lxc-ls.in b/src/lxc/legacy/lxc-ls.in
index ec73c8f..c0147c7 100644
--- a/src/lxc/legacy/lxc-ls.in
+++ b/src/lxc/legacy/lxc-ls.in
@@ -85,7 +85,14 @@ done
 
 containers=""
 if [ ! -z "$directory" ]; then
-	containers=$(find $directory -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')
+	if [ x"$parent_cgroup" = x ]; then
+		containers=$(find $directory -mindepth 2 -maxdepth 2 -name config -type f |awk -F "/" '{print $(NF-1)}')
+	else
+		containers=$(find $directory -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')
+	fi
+	if [ x"$containers" = x ]; then
+		exit 0
+	fi
 fi
 
 cd "$directory"
-- 
1.7.12.3





More information about the lxc-devel mailing list