Re: [RFC v8][PATCH 0/12] Kernel based checkpoint/restart

Serge E. Hallyn
2008-11-04T18:44:16Z

Quoting Oren Laadan (orenl@cs.columbia.edu):
> Basic checkpoint-restart [C/R]: v8 adds support for "external" checkpoint
> and improves documentation. Older announcements below.

The following test-program seems to reliably trigger a bug. Run it in a
new set of namespaces, i.e.
ns_exec -cmpiuU ./runme > /tmp/o
then control-c it. The second time I do that, I get the dcache.c:666
BUG().

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <sys/syscall.h>

#define __NR_checkpoint 333
int main (int argc, char *argv[])
{
pid_t pid = getpid();
int ret;

close(0); close(2);
ret = syscall (__NR_checkpoint, pid, STDOUT_FILENO, 0);

if (ret < 0)
perror ("checkpoint");
else
printf ("checkpoint id %d\n", ret);

sleep(200);
return (ret > 0 ? 0 : 1);
}

-serge