X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fissupported.c;h=685909451219e431e05d2c517d14b0395b74475a;hb=38c8dfe96049ba7e5af1e909e9e9cefe4b66369d;hp=35cd9f2b34a3087563a6d08123c73908beb3956f;hpb=3c0b8b665e96cad3d8acdbad63367979303463e4;p=util-vserver.git diff --git a/lib/issupported.c b/lib/issupported.c index 35cd9f2..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; @@ -46,12 +47,14 @@ vc_isSupported(vcFeatureSet feature) case vcFEATURE_SCHED : return ver >= 0x00020000; // todo case vcFEATURE_VNET : return ver >= 0x00020001; case vcFEATURE_PERSISTENT : return ver >= 0x00020002; - case vcFEATURE_VSTAT : return ver >= 0x00020103; + 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_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); }