From: Dwight Engen Date: Tue, 12 Feb 2013 20:54:47 +0000 (-0500) Subject: legacy ls: only output appropriate directories/containers X-Git-Tag: lxc-0.9.0.rc1~2^2~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f40315408755ed29008efef3cf9467ce03c411b7;p=thirdparty%2Flxc.git legacy ls: only output appropriate directories/containers 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 Acked-by: Stéphane Graber --- diff --git a/src/lxc/legacy/lxc-ls.in b/src/lxc/legacy/lxc-ls.in index ec73c8f38..c0147c73d 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"