From e4ebeab1cdf3ae4844c3a78d47d2aad5d9de9cbd Mon Sep 17 00:00:00 2001 From: Carlos Alberto Lopez Perez Date: Fri, 29 Jan 2016 15:39:22 +0100 Subject: [PATCH] Ignore any container with a name starting by '.' * This are either '.', '..' or a hidden directory. And this names should not be used for a container in any case. * Before this patch, if you created a git repository under lxc.lxcpath (it can be useful to keep track of the configurations of your containers) Then, when you run lxc-ls you will get the following output: # lxc-ls .git container1 container2 .... This is because there is a 'config' file inside the '.git' directory. It is where git stores the configuration of the repository. And the test lxc-ls does to check if a directory contains a container is just to check if the 'directory/config' file exists. Signed-off-by: Carlos Alberto Lopez Perez --- src/lxc/lxccontainer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 7f2a39020..402b96f78 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -4188,9 +4188,9 @@ int list_defined_containers(const char *lxcpath, char ***names, struct lxc_conta while (!readdir_r(dir, &dirent, &direntp)) { if (!direntp) break; - if (!strcmp(direntp->d_name, ".")) - continue; - if (!strcmp(direntp->d_name, "..")) + + // Ignore '.', '..' and any hidden directory + if (!strncmp(direntp->d_name, ".", 1)) continue; if (!config_file_exists(lxcpath, direntp->d_name))