X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fvs_cvirt.h;h=88c4c9fd6448ad77985e3e2d0405c0c6e5ba898f;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=0901e7360fc6e2f72d6b33af7e8a18f9fe94a860;hpb=64ba3f394c830ec48a1c31b53dcae312c56f1604;p=linux-2.6.git diff --git a/include/linux/vs_cvirt.h b/include/linux/vs_cvirt.h index 0901e7360..88c4c9fd6 100644 --- a/include/linux/vs_cvirt.h +++ b/include/linux/vs_cvirt.h @@ -1,71 +1,12 @@ -#ifndef _VX_VS_CVIRT_H -#define _VX_VS_CVIRT_H +#ifndef _VS_CVIRT_H +#define _VS_CVIRT_H #include "vserver/cvirt.h" +#include "vserver/context.h" +#include "vserver/base.h" #include "vserver/debug.h" -/* utsname virtualization */ - -static inline struct new_utsname *vx_new_utsname(void) -{ - if (current->vx_info) - return ¤t->vx_info->cvirt.utsname; - return &system_utsname; -} - -#define vx_new_uts(x) ((vx_new_utsname())->x) - - -/* pid faking stuff */ - - -#define vx_info_map_pid(v,p) \ - __vx_info_map_pid((v), (p), __FUNC__, __FILE__, __LINE__) -#define vx_info_map_tgid(v,p) vx_info_map_pid(v,p) -#define vx_map_pid(p) vx_info_map_pid(current->vx_info, p) -#define vx_map_tgid(p) vx_map_pid(p) - -static inline int __vx_info_map_pid(struct vx_info *vxi, int pid, - const char *func, const char *file, int line) -{ - if (vx_info_flags(vxi, VXF_INFO_INIT, 0)) { - vxfprintk(VXD_CBIT(cvirt, 2), - "vx_map_tgid: %p/%llx: %d -> %d", - vxi, (long long)vxi->vx_flags, pid, - (pid && pid == vxi->vx_initpid)?1:pid, - func, file, line); - if (pid == 0) - return 0; - if (pid == vxi->vx_initpid) - return 1; - } - return pid; -} - -#define vx_info_rmap_pid(v,p) \ - __vx_info_rmap_pid((v), (p), __FUNC__, __FILE__, __LINE__) -#define vx_rmap_pid(p) vx_info_rmap_pid(current->vx_info, p) -#define vx_rmap_tgid(p) vx_rmap_pid(p) - -static inline int __vx_info_rmap_pid(struct vx_info *vxi, int pid, - const char *func, const char *file, int line) -{ - if (vx_info_flags(vxi, VXF_INFO_INIT, 0)) { - vxfprintk(VXD_CBIT(cvirt, 2), - "vx_rmap_tgid: %p/%llx: %d -> %d", - vxi, (long long)vxi->vx_flags, pid, - (pid == 1)?vxi->vx_initpid:pid, - func, file, line); - if ((pid == 1) && vxi->vx_initpid) - return vxi->vx_initpid; - if (pid == vxi->vx_initpid) - return ~0U; - } - return pid; -} - - static inline void vx_activate_task(struct task_struct *p) { struct vx_info *vxi;