Changeset 2501
- Timestamp:
- 02/20/07 18:33:35 (2 years ago)
- Files:
-
- trunk/ensc_wrappers/wrappers-vserver.hc (modified) (1 diff)
- trunk/lib/syscall_ctxmigrate-v21.hc (modified) (2 diffs)
- trunk/lib/syscall_ctxmigrate.c (modified) (1 diff)
- trunk/lib/vserver.h (modified) (2 diffs)
- trunk/lib_internal/switchtowatchxid.c (modified) (1 diff)
- trunk/src/rpm-fake-resolver.c (modified) (1 diff)
- trunk/src/rpm-fake.c (modified) (1 diff)
- trunk/src/vcontext.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ensc_wrappers/wrappers-vserver.hc
r2416 r2501 66 66 67 67 inline static WRAPPER_DECL void 68 Evc_ctx_migrate(xid_t xid )68 Evc_ctx_migrate(xid_t xid, uint_least64_t flags) 69 69 { 70 FatalErrnoError(vc_ctx_migrate(xid )==-1, "vc_ctx_migrate()");70 FatalErrnoError(vc_ctx_migrate(xid, flags)==-1, "vc_ctx_migrate()"); 71 71 } 72 72 trunk/lib/syscall_ctxmigrate-v21.hc
r2419 r2501 23 23 24 24 static inline ALWAYSINLINE int 25 vc_ctx_migrate_spaces(xid_t xid )25 vc_ctx_migrate_spaces(xid_t xid, uint_least64_t flags) 26 26 { 27 int ret = vc_getXIDType(xid); 27 int ret; 28 struct vcmd_ctx_migrate data = { .flagword = flags }; 29 30 ret = vc_getXIDType(xid); 28 31 if (ret == vcTYPE_STATIC || ret == vcTYPE_DYNAMIC) { 29 32 ret = vc_enter_namespace(xid, vc_get_space_mask() & ~(CLONE_NEWNS|CLONE_FS)); … … 32 35 } 33 36 34 return vserver(VCMD_ctx_migrate _v0, CTX_USER2KERNEL(xid), NULL);37 return vserver(VCMD_ctx_migrate, CTX_USER2KERNEL(xid), &data); 35 38 } trunk/lib/syscall_ctxmigrate.c
r2415 r2501 39 39 #if defined(VC_ENABLE_API_V13) || defined(VC_ENABLE_API_V21) 40 40 int 41 vc_ctx_migrate(xid_t xid )41 vc_ctx_migrate(xid_t xid, uint_least64_t flags) 42 42 { 43 CALL_VC(CALL_VC_SPACES(vc_ctx_migrate, xid ),43 CALL_VC(CALL_VC_SPACES(vc_ctx_migrate, xid, flags), 44 44 CALL_VC_V13A (vc_ctx_migrate, xid)); 45 45 } trunk/lib/vserver.h
r2455 r2501 269 269 270 270 271 // the process context migration flags 272 #define VC_VXM_SET_INIT 0x00000001 273 #define VC_VXM_SET_REAPER 0x00000002 274 275 271 276 #ifndef CLONE_NEWNS 272 277 # define CLONE_NEWNS 0x00020000 … … 394 399 * \ingroup syscalls 395 400 * 396 * \param xid The new context 401 * \param xid The new context 402 * \param flags The flags, see VC_VXM_* 397 403 * \returns 0 on success, -1 on errors */ 398 int vc_ctx_migrate(xid_t xid );404 int vc_ctx_migrate(xid_t xid, uint_least64_t flags); 399 405 400 406 /** \brief Statistics about a context */ trunk/lib_internal/switchtowatchxid.c
r1988 r2501 36 36 37 37 if (vc_isSupported(vcFEATURE_MIGRATE)) { 38 if (vc_ctx_migrate(1 )==-1) {38 if (vc_ctx_migrate(1, 0)==-1) { 39 39 if (errptr) *errptr = "vc_migrate_context()"; 40 40 return false; trunk/src/rpm-fake-resolver.c
r2403 r2501 262 262 } 263 263 else if (vc_isSupported(vcFEATURE_MIGRATE)) 264 Evc_ctx_migrate(xid );264 Evc_ctx_migrate(xid, 0); 265 265 else { 266 266 #ifdef VC_ENABLE_API_COMPAT trunk/src/rpm-fake.c
r2448 r2501 596 596 597 597 if (vc_isSupported(vcFEATURE_MIGRATE)) 598 res = vc_ctx_migrate(ctx );598 res = vc_ctx_migrate(ctx, 0); 599 599 else { 600 600 #ifdef VC_ENABLE_API_COMPAT trunk/src/vcontext.c
r2448 r2501 283 283 284 284 if (args->do_migrate && !args->do_migrateself) 285 Evc_ctx_migrate(xid );285 Evc_ctx_migrate(xid, 0); 286 286 287 287 if (args->uid != NULL) {
