[lxc-devel] [PATCH] only warn for inherited file descriptors
Greg Kurz
gkurz at fr.ibm.com
Mon Sep 5 14:55:07 UTC 2011
As discussed in thread:
http://sourceforge.net/mailarchive/forum.php?thread_name=4E5618C3.5060507%40free.fr&forum_name=lxc-devel
We think it's better for now to only warn the user about a fd leaking into
the container. Also remove the call to readlink() as it isn't really useful
now: since the container will start anyway, the user can look into /proc/../fd
or use lsof or whatever.
Signed-off-by: Greg Kurz <gkurz at fr.ibm.com>
---
src/lxc/start.c | 20 +++-----------------
1 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/src/lxc/start.c b/src/lxc/start.c
index 6737a44..9481a8a 100644
--- a/src/lxc/start.c
+++ b/src/lxc/start.c
@@ -141,7 +141,6 @@ int lxc_check_inherited(int fd_to_ignore)
struct dirent dirent, *direntp;
int fd, fddir;
DIR *dir;
- int ret = 0;
dir = opendir("/proc/self/fd");
if (!dir) {
@@ -152,9 +151,6 @@ int lxc_check_inherited(int fd_to_ignore)
fddir = dirfd(dir);
while (!readdir_r(dir, &dirent, &direntp)) {
- char procpath[64];
- char path[PATH_MAX];
-
if (!direntp)
break;
@@ -171,22 +167,12 @@ int lxc_check_inherited(int fd_to_ignore)
if (match_fd(fd))
continue;
- /*
- * found inherited fd
- */
- ret = -1;
- snprintf(procpath, sizeof(procpath), "/proc/self/fd/%d", fd);
-
- if (readlink(procpath, path, sizeof(path)) == -1)
- ERROR("readlink(%s) failed : %m", procpath);
- else
- ERROR("inherited fd %d on %s", fd, path);
+ WARN("inherited fd %d", fd);
}
- if (closedir(dir))
- ERROR("failed to close directory");
- return ret;
+ closedir(dir); /* cannot fail */
+ return 0;
}
static int setup_signal_fd(sigset_t *oldmask)
More information about the lxc-devel
mailing list