X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fissupported.c;h=685909451219e431e05d2c517d14b0395b74475a;hb=HEAD;hp=5b811f7420f5e64433549d2b6623af75ea89fd1d;hpb=db1d60270cc6fc35290d165fcdf163a96562bb00;p=util-vserver.git diff --git a/lib/issupported.c b/lib/issupported.c index 5b811f7..6859094 100644 --- a/lib/issupported.c +++ b/lib/issupported.c @@ -28,6 +28,7 @@ vc_isSupported(vcFeatureSet feature) { int ver = vc_get_version(); vc_vci_t conf = vc_get_vci(); + int linux_ver = vc_get_kernel(); if (ver==-1) return false; if (conf==(vc_vci_t)-1) conf = 0; @@ -45,10 +46,15 @@ vc_isSupported(vcFeatureSet feature) case vcFEATURE_VWAIT : return ver >= 0x00010025; case vcFEATURE_SCHED : return ver >= 0x00020000; // todo case vcFEATURE_VNET : return ver >= 0x00020001; - case vcFEATURE_VSTAT : return ver >= 0x00020103; + case vcFEATURE_PERSISTENT : return ver >= 0x00020002; + case vcFEATURE_VSTAT : return ver >= 0x00020103 && ver < 0x00020306; case vcFEATURE_PPTAG : return conf & VC_VCI_PPTAG; case vcFEATURE_SPACES : return conf & VC_VCI_SPACES; - case vcFEATURE_PIDSPACE : return ver >= 0x00020303 || ver >= 0x00020201; + case vcFEATURE_PIVOT_ROOT : return ver >= 0x00020304; + case vcFEATURE_PIDSPACE : return false; + case vcFEATURE_MEMCG : return ver >= 0x00020306 && conf & VC_VCI_MEMCG; + case vcFEATURE_DYNAMIC : return ver < 0x00020300 || !(conf & VC_VCI_NO_DYNAMIC); + case vcFEATURE_BME : return linux_ver < 0x0002061a; default : assert(false); }