]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Ignore any container with a name starting by '.' 768/head
authorCarlos Alberto Lopez Perez <clopez@igalia.com>
Fri, 29 Jan 2016 14:39:22 +0000 (15:39 +0100)
committerCarlos Alberto Lopez Perez <clopez@igalia.com>
Fri, 29 Jan 2016 14:39:22 +0000 (15:39 +0100)
  * 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 <clopez@igalia.com>
src/lxc/lxccontainer.c

index 7f2a390202c8a03a9855538276c93419861a7edf..402b96f78c160ea041266370dfe2b69771a45ca4 100644 (file)
@@ -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))