X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fissupported.c;h=3fb32e6f4fc38844aea1ca14de427db321b950ae;hb=a1484653fde78abf416d1dcda7cfc69d0d3b8073;hp=73bf813b709773546df7349ef9b2e65fd8661a62;hpb=fc84d2d3d5179f3bbbcee0f7e8d8cb155239edfd;p=util-vserver.git diff --git a/lib/issupported.c b/lib/issupported.c index 73bf813..3fb32e6 100644 --- a/lib/issupported.c +++ b/lib/issupported.c @@ -26,8 +26,10 @@ bool vc_isSupported(vcFeatureSet feature) { - int ver = vc_get_version(); + int ver = vc_get_version(); + vc_vci_t conf = vc_get_vci(); if (ver==-1) return false; + if (conf==(vc_vci_t)-1) conf = 0; switch (feature) { case vcFEATURE_COMPAT : return true; @@ -43,7 +45,12 @@ 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_PERSISTENT : return ver >= 0x00020002; case vcFEATURE_VSTAT : return ver >= 0x00020103; + 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 ver >= 0x00020305; default : assert(false); }