This is going to be handled in the kernel.
authorDaniel Hokka Zakrisson <daniel@hozac.com>
Wed, 27 Aug 2008 10:38:07 +0000 (10:38 +0000)
committerDaniel Hokka Zakrisson <daniel@hozac.com>
Wed, 27 Aug 2008 10:38:07 +0000 (10:38 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2777 94cd875c-1c1d-0410-91d2-eb244daf1a30

lib/syscall_ctxcreate-v23.hc [deleted file]
lib/syscall_ctxcreate.c
lib/syscall_ctxmigrate-v23.hc [deleted file]
lib/syscall_ctxmigrate.c

diff --git a/lib/syscall_ctxcreate-v23.hc b/lib/syscall_ctxcreate-v23.hc
deleted file mode 100644 (file)
index 97aded8..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// $Id$    --*- c -*--
-
-// Copyright (C) 2008 Daniel Hokka Zakrisson
-//  
-// 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.
-//  
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//  
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-#include <signal.h>
-#include <lib_internal/sys_clone.h>
-
-static inline ALWAYSINLINE xid_t
-vc_ctx_create_v23(xid_t xid, struct vc_ctx_flags *flags)
-{
-  struct vcmd_ctx_create data = {
-       .flagword = (VC_VXF_STATE_SETUP | VC_VXF_STATE_ADMIN |
-                    VC_VXF_STATE_INIT)
-  };
-  xid_t                res;
-  pid_t                pid;
-  uint64_t     spaces = vc_get_space_default();
-
-  if (flags)
-    data.flagword = flags->flagword & flags->mask;
-
-  pid = sys_clone(spaces | SIGCHLD | CLONE_FILES | CLONE_FS, NULL);
-  if (pid == -1)
-    return -1;
-  else if (pid > 0)
-    vc_exitLikeProcess(pid, 1);
-
-  res = vserver(VCMD_ctx_create, CTX_USER2KERNEL(xid), &data);
-  res = CTX_KERNEL2USER(res);
-
-  if (res != VC_NOCTX && spaces) {
-    vc_set_namespace(VC_SAMECTX, spaces);
-  }
-
-  return res;
-}
index cb42c74..541213e 100644 (file)
 #  include "syscall_ctxcreate-v21.hc"
 #endif
 
-#if defined(VC_ENABLE_API_V23)
-#  include "syscall_ctxcreate-v23.hc"
-#endif
-
 #if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 xid_t
 vc_ctx_create(xid_t xid, struct vc_ctx_flags *flags)
 {
-  CALL_VC(CALL_VC_V23P(vc_ctx_create, xid, flags),
-         CALL_VC_V21 (vc_ctx_create, xid, flags),
+  CALL_VC(CALL_VC_V21 (vc_ctx_create, xid, flags),
          CALL_VC_V13A(vc_ctx_create, xid, flags));
 }
 #endif
diff --git a/lib/syscall_ctxmigrate-v23.hc b/lib/syscall_ctxmigrate-v23.hc
deleted file mode 100644 (file)
index a53462f..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// $Id$    --*- c -*--
-
-// Copyright (C) 2008 Daniel Hokka Zakrisson
-//  
-// 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.
-//  
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//  
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-#include <signal.h>
-#include <lib_internal/sys_clone.h>
-
-static inline ALWAYSINLINE int
-vc_ctx_migrate_v23(xid_t xid, uint_least64_t flags)
-{
-  int ret;
-  struct vcmd_ctx_migrate data = { .flagword = flags };
-  int do_spaces = 0;
-
-  ret = vc_getXIDType(xid);
-  if (ret == vcTYPE_STATIC || ret == vcTYPE_DYNAMIC) {
-    do_spaces = 1;
-    ret = vc_enter_namespace(xid, vc_get_space_default());
-    if (ret)
-      return ret;
-  }
-
-  ret = vserver(VCMD_ctx_migrate, CTX_USER2KERNEL(xid), &data);
-
-  if (!ret && do_spaces) {
-    /* Allocate a new pid */
-    int pid = sys_clone(SIGCHLD | CLONE_FS | CLONE_FILES, NULL);
-    if (pid == -1)
-      return -1;
-    else if (pid > 0)
-      vc_exitLikeProcess(pid, 1);
-  }
-
-  return ret;
-}
index 011d014..a60b7c8 100644 (file)
 #  include "syscall_ctxmigrate-v21.hc"
 #endif
 
-#if defined(VC_ENABLE_API_V23)
-#  include "syscall_ctxmigrate-v23.hc"
-#endif
-
 #if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21)
 int
 vc_ctx_migrate(xid_t xid, uint_least64_t flags)
 {
-  CALL_VC(CALL_VC_V23P  (vc_ctx_migrate, xid, flags),
-         CALL_VC_SPACES(vc_ctx_migrate, xid, flags),
+  CALL_VC(CALL_VC_SPACES(vc_ctx_migrate, xid, flags),
          CALL_VC_V13A  (vc_ctx_migrate, xid));
 }
 #endif