1. 17 Apr, 2014 3 commits
  2. 15 Apr, 2014 1 commit
  3. 14 Apr, 2014 2 commits
  4. 11 Apr, 2014 11 commits
  5. 09 Apr, 2014 7 commits
  6. 08 Apr, 2014 4 commits
  7. 07 Apr, 2014 1 commit
  8. 04 Apr, 2014 3 commits
  9. 02 Apr, 2014 3 commits
  10. 01 Apr, 2014 2 commits
  11. 25 Mar, 2014 2 commits
  12. 24 Mar, 2014 1 commit
    • Deyan Doychev's avatar
      criu: Add exec-cmd option (v3) · 69a6bf44
      Deyan Doychev authored
      The --exec-cmd option specifies a command that will be execvp()-ed on successful
      restore. This way the command specified here will become the parent process of
      the restored process tree.
      
      Waiting for the restored processes to finish is responsibility of this command.
      
      All service FDs are closed before we call execvp(). Standad output and error of
      the command are redirected to the log file when we are restoring through the RPC
      service.
      
      This option will be used when restoring LinuX Containers and it seems helpful
      for perf or other use cases when restored processes must be supervised by a
      parent.
      
      Two directions were researched in order to integrate CRIU and LXC:
      
      1. We tell to CRIU, that after restoring container is should execve()
         lxc properly explaining to it that there's a new container hanging
         around.
      
      2. We make LXC set himself as child subreaper, then fork() criu and ask
         it to detach (-d) from restore container afterwards. Being a subreaper,
         it should get the container's init into his child list after it.
      
      The main reason for choosing the first option is that the second one can't work
      with the RPC service. If we call restore via the service then criu service will
      be the top-most task in the hierarchy and will not be able to reparent the
      restore trees to any other task in the system. Calling execve from service
      worker sub-task (and daemonizing it) should solve this.
      Signed-off-by: 's avatarDeyan Doychev <deyandoichev@gmail.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
      69a6bf44