mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
Reject xm sched-* comands for other than the in-use scheduler.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
This commit is contained in:
1 parent
fa4af86617
commit
4e109e6d68
1 file changed
+13
@@ -706,6 +706,15 @@ def parse_doms_info(info):
|
||||
'seclabel' : security.get_security_printlabel(info),
|
||||
}
|
||||
|
||||
def check_sched_type(sched):
|
||||
current = 'unknown'
|
||||
for x in server.xend.node.info()[1:]:
|
||||
if len(x) > 1 and x[0] == 'xen_scheduler':
|
||||
current = x[1]
|
||||
break
|
||||
if sched != current:
|
||||
err("Xen is running with the %s scheduler" % current)
|
||||
sys.exit(1)
|
||||
|
||||
def parse_sedf_info(info):
|
||||
def get_info(n, t, d):
|
||||
@@ -1098,6 +1107,8 @@ def xm_sched_sedf(args):
|
||||
print( ("%(name)-32s %(domid)3d %(period)9.1f %(slice)9.1f" +
|
||||
" %(latency)7.1f %(extratime)6d %(weight)6d") % info)
|
||||
|
||||
check_sched_type('sedf')
|
||||
|
||||
# we want to just display current info if no parameters are passed
|
||||
if len(args) == 0:
|
||||
domid = None
|
||||
@@ -1170,6 +1181,8 @@ def xm_sched_sedf(args):
|
||||
def xm_sched_credit(args):
|
||||
"""Get/Set options for Credit Scheduler."""
|
||||
|
||||
check_sched_type('credit')
|
||||
|
||||
try:
|
||||
opts, params = getopt.getopt(args, "d:w:c:",
|
||||
["domain=", "weight=", "cap="])
|
||||
|
||||