All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Mirkin <major@openvz.org>
To: linux-kernel@vger.kernel.org
Cc: containers@lists.linux-foundation.org, Andrey Mirkin <major@openvz.org>
Subject: [PATCH 1/9] Introduce trivial sys_checkpoint and sys_restore system calls
Date: Wed,  3 Sep 2008 14:57:48 +0400	[thread overview]
Message-ID: <1220439476-16465-2-git-send-email-major@openvz.org> (raw)
In-Reply-To: <1220439476-16465-1-git-send-email-major@openvz.org>

Right now they just return -ENOSYS. Later they will provide functionality
to checkpoint and restart a container.

Both syscalls take as arguments a file descriptor and flags.
Also sys_checkpoint take as the first argument a PID of container's init
(later it will be container ID); sys_restart takes as the first argument
a container ID (right now it will not be used).

Signed-off-by: Andrey Mirkin <major@openvz.org>
---
 Makefile                           |    2 +-
 arch/x86/kernel/syscall_table_32.S |    2 +
 cpt/Makefile                       |    1 +
 cpt/sys_core.c                     |   38 ++++++++++++++++++++++++++++++++++++
 include/asm-x86/unistd_32.h        |    2 +
 5 files changed, 44 insertions(+), 1 deletions(-)
 create mode 100644 cpt/Makefile
 create mode 100644 cpt/sys_core.c

diff --git a/Makefile b/Makefile
index ea413fa..1dee5c0 100644
--- a/Makefile
+++ b/Makefile
@@ -619,7 +619,7 @@ export mod_strip_cmd
 
 
 ifeq ($(KBUILD_EXTMOD),)
-core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/ block/
+core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/ block/ cpt/
 
 vmlinux-dirs	:= $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
 		     $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
diff --git a/arch/x86/kernel/syscall_table_32.S b/arch/x86/kernel/syscall_table_32.S
index fd9d4f4..4a0d7fb 100644
--- a/arch/x86/kernel/syscall_table_32.S
+++ b/arch/x86/kernel/syscall_table_32.S
@@ -333,3 +333,5 @@ ENTRY(sys_call_table)
 	.long sys_pipe2
 	.long sys_inotify_init1
 	.long sys_hijack
+	.long sys_checkpoint
+	.long sys_restart		/* 335 */
diff --git a/cpt/Makefile b/cpt/Makefile
new file mode 100644
index 0000000..2276fb1
--- /dev/null
+++ b/cpt/Makefile
@@ -0,0 +1 @@
+obj-y += sys_core.o
diff --git a/cpt/sys_core.c b/cpt/sys_core.c
new file mode 100644
index 0000000..1a97fb6
--- /dev/null
+++ b/cpt/sys_core.c
@@ -0,0 +1,38 @@
+/*
+ *  Copyright (C) 2008 Parallels, Inc.
+ *
+ *  Author: Andrey Mirkin <major@openvz.org>
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License as
+ *  published by the Free Software Foundation, version 2 of the
+ *  License.
+ *
+ */
+
+#include <linux/sched.h>
+#include <linux/fs.h>
+#include <linux/file.h>
+
+/**
+ * sys_checkpoint - checkpoint a container from outside
+ * @pid: pid of the container init(1) process
+ * TODO: should switch to container id later
+ * @fd: file to which save the checkpoint image
+ * @flags: checkpoint operation flags
+ */
+asmlinkage long sys_checkpoint(pid_t pid, int fd, unsigned long flags)
+{
+	return -ENOSYS;
+}
+
+/**
+ * sys_restart - restart a container
+ * @ctid: container id which should be used to restart a container
+ * @fd: file from which read the checkpoint image
+ * @flags: restart operation flags
+ */
+asmlinkage long sys_restart(int ctid, int fd, unsigned long flags)
+{
+	return -ENOSYS;
+}
diff --git a/include/asm-x86/unistd_32.h b/include/asm-x86/unistd_32.h
index 70280da..1a09604 100644
--- a/include/asm-x86/unistd_32.h
+++ b/include/asm-x86/unistd_32.h
@@ -339,6 +339,8 @@
 #define __NR_pipe2		331
 #define __NR_inotify_init1	332
 #define __NR_hijack		333
+#define __NR_checkpoint		334
+#define __NR_restart		335
 
 #ifdef __KERNEL__
 
-- 
1.5.6


  reply	other threads:[~2008-09-03 10:55 UTC|newest]

Thread overview: 138+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-03 10:57 [PATCH 0/9] OpenVZ kernel based checkpointing/restart Andrey Mirkin
2008-09-03 10:57 ` Andrey Mirkin
2008-09-03 10:57 ` Andrey Mirkin [this message]
     [not found]   ` <1220439476-16465-2-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57     ` [PATCH 2/9] Make checkpoint/restart functionality modular Andrey Mirkin
2008-09-03 11:44     ` [PATCH 1/9] Introduce trivial sys_checkpoint and sys_restore system calls Cedric Le Goater
2008-09-03 10:57   ` [PATCH 2/9] Make checkpoint/restart functionality modular Andrey Mirkin
2008-09-03 10:57     ` [PATCH 3/9] Introduce context structure needed during checkpointing/restart Andrey Mirkin
2008-09-03 10:57       ` [PATCH 4/9] Introduce container dump function Andrey Mirkin
     [not found]         ` <1220439476-16465-5-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57           ` [PATCH 5/9] Introduce function to dump process Andrey Mirkin
2008-09-03 10:57             ` Andrey Mirkin
     [not found]             ` <1220439476-16465-6-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57               ` [PATCH 6/9] Introduce functions to dump mm Andrey Mirkin
2008-09-03 10:57                 ` Andrey Mirkin
     [not found]                 ` <1220439476-16465-7-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57                   ` [PATCH 7/9] Introduce function for restarting a container Andrey Mirkin
2008-09-03 10:57                     ` Andrey Mirkin
     [not found]                     ` <1220439476-16465-8-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57                       ` [PATCH 8/9] Introduce functions to restart a process Andrey Mirkin
2008-09-03 10:57                         ` Andrey Mirkin
     [not found]                         ` <1220439476-16465-9-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57                           ` [PATCH 9/9] Introduce functions to restore mm Andrey Mirkin
2008-09-03 10:57                             ` Andrey Mirkin
2008-09-03 14:32                           ` [PATCH 8/9] Introduce functions to restart a process Louis Rilling
2008-09-03 14:32                         ` Louis Rilling
     [not found]                           ` <20080903143248.GU14473-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-09-13 17:34                             ` Pavel Machek
2008-09-13 17:34                           ` Pavel Machek
2008-09-03 14:17                   ` [PATCH 6/9] Introduce functions to dump mm Louis Rilling
2008-09-03 14:17                 ` Louis Rilling
2008-09-03 14:23           ` [PATCH 4/9] Introduce container dump function Serge E. Hallyn
2008-09-03 14:23         ` Serge E. Hallyn
     [not found]           ` <20080903142308.GB13425-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-09-03 14:45             ` Andrey Mirkin
2008-09-03 14:45               ` Andrey Mirkin
     [not found]       ` <1220439476-16465-4-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57         ` Andrey Mirkin
2008-09-03 12:29         ` [PATCH 3/9] Introduce context structure needed during checkpointing/restart Matthieu Fertré
2008-09-03 12:29           ` Matthieu Fertré
     [not found]           ` <48BE8315.6030907-7Ky3UMAtGjA@public.gmane.org>
2008-09-03 14:11             ` Andrey Mirkin
2008-09-03 14:11               ` Andrey Mirkin
2008-09-03 13:56         ` Louis Rilling
2008-09-03 14:13         ` Cedric Le Goater
2008-09-03 13:56       ` Louis Rilling
     [not found]         ` <20080903135616.GR14473-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-09-03 14:07           ` Andrey Mirkin
2008-09-03 14:07             ` Andrey Mirkin
2008-09-03 14:13       ` Cedric Le Goater
     [not found]         ` <48BE9B74.7010600-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-09-03 14:29           ` Andrey Mirkin
2008-09-03 14:29             ` Andrey Mirkin
2008-09-03 14:27     ` [PATCH 2/9] Make checkpoint/restart functionality modular Serge E. Hallyn
     [not found]       ` <20080903142720.GC13425-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-09-03 14:51         ` Andrey Mirkin
2008-09-03 14:51           ` Andrey Mirkin
     [not found]     ` <1220439476-16465-3-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57       ` [PATCH 3/9] Introduce context structure needed during checkpointing/restart Andrey Mirkin
2008-09-03 14:27       ` [PATCH 2/9] Make checkpoint/restart functionality modular Serge E. Hallyn
2008-09-03 11:44   ` [PATCH 1/9] Introduce trivial sys_checkpoint and sys_restore system calls Cedric Le Goater
     [not found]     ` <48BE7885.3070609-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-09-03 13:05       ` [Devel] " Andrey Mirkin
2008-09-03 13:05     ` Andrey Mirkin
     [not found] ` <1220439476-16465-1-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-03 10:57   ` Andrey Mirkin
2008-09-03 12:28   ` [PATCH 0/9] OpenVZ kernel based checkpointing/restart Cedric Le Goater
2008-09-03 13:49   ` Louis Rilling
2008-09-04  8:14   ` Oren Laadan
2008-09-04 14:05   ` Dave Hansen
2008-10-17 23:33   ` Dave Hansen
2008-09-03 12:28 ` Cedric Le Goater
     [not found]   ` <48BE82F9.4020808-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-09-03 13:59     ` [Devel] " Andrey Mirkin
2008-09-03 14:18     ` Serge E. Hallyn
2008-09-03 13:59   ` [Devel] " Andrey Mirkin
2008-09-04 22:55     ` Dave Hansen
     [not found]     ` <200809031759.29132.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-09-04 22:55       ` Dave Hansen
2008-09-03 14:18   ` Serge E. Hallyn
2008-09-03 13:49 ` Louis Rilling
     [not found]   ` <20080903134951.GQ14473-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-09-03 14:06     ` Louis Rilling
2008-09-03 14:06   ` Louis Rilling
     [not found]     ` <20080903140636.GS14473-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-09-03 14:19       ` Andrey Mirkin
2008-09-03 14:26       ` Cedric Le Goater
2008-09-03 14:19     ` Andrey Mirkin
2008-09-03 14:26     ` Cedric Le Goater
     [not found]       ` <48BE9E95.3020706-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-09-03 14:53         ` Andrey Mirkin
2008-09-03 14:53           ` Andrey Mirkin
2008-09-04  8:14 ` Oren Laadan
2008-09-04 14:05 ` Dave Hansen
2008-10-17 23:33 ` Dave Hansen
2008-10-20 11:10   ` Louis Rilling
2008-10-20 13:25     ` Daniel Lezcano
     [not found]       ` <48FC86B2.8000606-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-10-20 13:48         ` Cedric Le Goater
2008-10-20 13:48           ` Cedric Le Goater
2008-10-20 13:49           ` Daniel Lezcano
     [not found]           ` <48FC8C30.6040409-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-10-20 13:49             ` Daniel Lezcano
2008-10-20 15:53         ` Oren Laadan
2008-10-20 15:53           ` Oren Laadan
2008-10-20 16:51           ` Serge E. Hallyn
     [not found]           ` <48FCA97C.1040108-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-20 16:37             ` Daniel Lezcano
2008-10-20 16:37               ` Daniel Lezcano
     [not found]               ` <48FCB3CC.9030804-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-10-20 17:23                 ` Serge E. Hallyn
2008-10-20 17:23                   ` Serge E. Hallyn
     [not found]                   ` <20081020172358.GA29092-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-10-21  0:18                     ` Oren Laadan
2008-10-21  0:18                   ` Oren Laadan
2008-10-21  0:58                     ` Serge E. Hallyn
     [not found]                     ` <48FD1FBC.5050408-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-21  0:58                       ` Serge E. Hallyn
2008-10-21 13:24                       ` Daniel Lezcano
2008-10-21 13:24                     ` Daniel Lezcano
2008-10-27 14:45                 ` [Devel] " Andrey Mirkin
2008-10-27 14:45               ` Andrey Mirkin
2008-10-20 16:51             ` Serge E. Hallyn
2008-10-21  9:36             ` Cedric Le Goater
2008-10-21  9:36           ` Cedric Le Goater
     [not found]     ` <20081020111002.GQ15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-20 13:25       ` Daniel Lezcano
2008-10-20 16:36       ` Dave Hansen
2008-10-20 16:36     ` Dave Hansen
2008-10-20 11:10   ` Louis Rilling
2008-10-20 12:14   ` [Devel] " Andrey Mirkin
2008-10-20 15:55     ` Dave Hansen
2008-10-27 14:07       ` Andrey Mirkin
     [not found]         ` <200810271707.13580.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-27 14:39           ` Oren Laadan
2008-11-03 19:35           ` Oren Laadan
2008-10-27 14:39         ` Oren Laadan
2008-10-30  6:02           ` Andrey Mirkin
     [not found]             ` <200810300902.47067.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-30 11:47               ` Louis Rilling
2008-10-30 14:08               ` Serge E. Hallyn
2008-10-30 17:03               ` Dave Hansen
2008-10-30 17:03                 ` Dave Hansen
2008-10-30 11:47             ` Louis Rilling
     [not found]               ` <20081030114747.GL15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-30 17:08                 ` Dave Hansen
2008-10-30 17:45                 ` Oren Laadan
2008-10-30 17:08               ` Dave Hansen
2008-10-30 18:01                 ` Louis Rilling
     [not found]                   ` <20081030180133.GN15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-30 18:28                     ` Oren Laadan
2008-10-30 18:28                   ` Oren Laadan
2008-10-30 18:01                 ` Louis Rilling
2008-10-30 17:45               ` Oren Laadan
     [not found]                 ` <4909F2B5.7040907-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-30 18:14                   ` Louis Rilling
2008-10-30 18:14                     ` Louis Rilling
     [not found]                     ` <20081030181418.GO15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-30 18:32                       ` Oren Laadan
2008-10-30 18:32                     ` Oren Laadan
2008-10-31 10:37                       ` Louis Rilling
     [not found]                       ` <4909FDD3.5090806-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-31 10:37                         ` Louis Rilling
2008-10-30 14:08             ` Serge E. Hallyn
     [not found]           ` <4905D2AD.1070309-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-30  6:02             ` Andrey Mirkin
2008-11-03 19:35         ` Oren Laadan
2008-10-27 14:07       ` Andrey Mirkin
     [not found]     ` <200810201614.36911.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-20 15:55       ` Dave Hansen
2008-10-20 17:17       ` Oren Laadan
2008-10-20 17:17     ` Oren Laadan
2008-10-27 14:38       ` Andrey Mirkin
     [not found]       ` <48FCBD24.7070902-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-27 14:38         ` Andrey Mirkin
2008-10-20 12:14   ` Andrey Mirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1220439476-16465-2-git-send-email-major@openvz.org \
    --to=major@openvz.org \
    --cc=containers@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.