Hi,

While playing with lxc-start, I noticed that /tmp is infested by empty
lxc-r* directories:

# lxc-start --logfile=/tmp/startlog --logpriority=DEBUG -n jail -s 
lxc.mount.entry="/ /tmp/jail none bind 0 0" -s lxc.rootfs=/tmp/jail -s 
lxc.pivotdir=/mnt ls /proc
# cat /tmp/startlog
      lxc-start 1273064291.740 DEBUG    lxc_start - sigchild handler set
      lxc-start 1273064291.740 INFO     lxc_start - 'jail' is initialized
      lxc-start 1273064291.745 DEBUG    lxc_cgroup - using cgroup mounted at 
'/cgroup'
      lxc-start 1273064291.745 DEBUG    lxc_cgroup - '/cgroup/3178' renamed to 
'/cgroup/jail'
      lxc-start 1273064291.746 DEBUG    lxc_conf - mounted / on /tmp/jail, type 
none
      lxc-start 1273064291.746 INFO     lxc_conf - mount points have been setup
      lxc-start 1273064291.746 WARN     lxc_conf - rootfs specified but no 
console found
      lxc-start 1273064291.746 INFO     lxc_conf - 0 tty(s) has been setup
      lxc-start 1273064291.746 DEBUG    lxc_conf - temporary mountpoint for old 
rootfs is './mnt'
      lxc-start 1273064291.746 DEBUG    lxc_conf - pivot_root syscall to '/mnt' 
successful
      lxc-start 1273064291.746 DEBUG    lxc_conf - umounted '/mnt/dev/pts'
      lxc-start 1273064291.746 DEBUG    lxc_conf - umounted '/mnt/dev/shm'
      lxc-start 1273064291.746 DEBUG    lxc_conf - umounted '/mnt/sys'
      lxc-start 1273064291.746 DEBUG    lxc_conf - umounted '/mnt/proc'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt/lib/init/rw'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt/var/run'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt/var/lock'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt/cgroup'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt/tmp/jail'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt/dev'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt/tmp'
      lxc-start 1273064291.747 DEBUG    lxc_conf - umounted '/mnt'
      lxc-start 1273064291.747 INFO     lxc_conf - pivoted to '/tmp/lxc-rX4K9le'
      lxc-start 1273064291.748 DEBUG    lxc_conf - capabilities has been setup
      lxc-start 1273064291.748 NOTICE   lxc_conf - 'jail' is setup.
      lxc-start 1273064291.748 NOTICE   lxc_start - exec'ing 'ls'
      lxc-start 1273064291.753 NOTICE   lxc_start - 'ls' started with pid '3178'
      lxc-start 1273064291.753 INFO     lxc_console - no console specified
      lxc-start 1273064291.753 WARN     lxc_utmp - '/tmp/jail/var/run/utmp' not 
found
      lxc-start 1273064291.763 DEBUG    lxc_start - child exited
      lxc-start 1273064291.763 DEBUG    lxc_cgroup - using cgroup mounted at 
'/cgroup'
      lxc-start 1273064291.764 DEBUG    lxc_cgroup - '/cgroup/jail' unlinked

And /tmp/lxc-rX4K9le is left behind...  Ok, this name comes from
lxc-rootfs in conf.c:setup_rootfs.  After setup_rootfs_pivot_root
returns, the original /tmp is not available anymore, so rmdir(tmpname)
at the bottom of setup_rootfs can't achieve much.  Why is this temporary
name needed anyway?  Is pivoting impossible without it?  I can't see why.
-- 
Thanks,
Feri.

------------------------------------------------------------------------------
_______________________________________________
Lxc-users mailing list
Lxc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-users

Reply via email to