1. 03 Sep, 2013 3 commits
  2. 30 Aug, 2013 7 commits
  3. 29 Aug, 2013 1 commit
    • start.c: handle potential signal flood · 80507ee8
      Serge Hallyn authored
      Signalfd does not guarantee that we'll get an event for every signal.
      So if 3 tasks exit at the same time, we may get only one sigchld
      event.  Therefore, in signal_handler(), always check whether init has
      exited.  Do with with WNOWAIT so that we can still wait4 to cleanup
      the init after lxc_poll() exists (rather than complicating the code).
      
      Note - there is still a race in the kernel which can cause the
      container init to become a defunct child of the host init (!).  This
      doesn't solve that, but is a potential (if very unlikely) race which
      apw pointed out while we were trying to create a reproducer for the
      kernel bug.
      Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
      Acked-by: 's avatarStéphane Graber <stgraber@ubuntu.com>
  4. 26 Aug, 2013 3 commits
  5. 22 Aug, 2013 2 commits
  6. 21 Aug, 2013 2 commits
    • lxc_cgroup: convert to using API · 9069513c
      Serge Hallyn authored
      Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
    • Track snapshot dependencies (v2) · dfb31b25
      Serge Hallyn authored
      (Will push in a bit barring any objections)
      
      lvm, btrfs, and zfs snapshots each do an ok job of handling deletions
      for us - a btrfs snapshot does fine after the original is removed,
      while zfs and lvm will both refuse to allow the original to be deleted
      while the snapshot exists.
      
      Overlayfs doesn't do this for us.  So, for overlayfs snapshots, track
      the dependencies.
      
      When c2 is created as an overlayfs snapshot of dir-backed c1, then
      
      1. c2's lxc_rdepends file will contain
      
      	c1_lxcpath
      	c1_lxcname
      
      2. c1's lxc_snapshots will contain "1"
      
      c1 cannot be deleted so long as lxc_snapshots exists and contains
      a non-zero number.
      
      The contents of lxc_snapshots and lxc_rdepends are protected by
      container_disk_lock() and at lxc_clone by the new container not yet
      being accessible.
      
      (Originally I was going to keep them in the container config, but the
      problem with using $lxcpath/$name/config is that api users could end up
      calling c->save_config() with a cached old value of snapshots/rdepends.)
      
      Changelog:
      	aug 21: check for fprintf and fclose failures
      Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
      Acked-by: 's avatarDwight Engen <dwight.engen@oracle.com>
  7. 20 Aug, 2013 8 commits
  8. 19 Aug, 2013 14 commits