dom0+vm/qvm-usb: use transaction in usb_check_attached()
This commit is contained in:
parent
81ca750403
commit
caf27cb936
@ -440,10 +440,11 @@ def usb_list():
|
|||||||
|
|
||||||
def usb_check_attached(backend_vm, device):
|
def usb_check_attached(backend_vm, device):
|
||||||
# sample xs content: /local/domain/0/backend/vusb/4/0/port/1 = "7-5"
|
# sample xs content: /local/domain/0/backend/vusb/4/0/port/1 = "7-5"
|
||||||
# FIXME: use XS transaction
|
attached_dev = None
|
||||||
xs_trans = ''
|
xs_trans = xs.transaction_start()
|
||||||
vms = xs.ls(xs_trans, '/local/domain/%d/backend/vusb' % backend_vm)
|
vms = xs.ls(xs_trans, '/local/domain/%d/backend/vusb' % backend_vm)
|
||||||
if vms is None:
|
if vms is None:
|
||||||
|
xs.transaction_end(xs_trans)
|
||||||
return None
|
return None
|
||||||
for vm in vms:
|
for vm in vms:
|
||||||
# FIXME: validate vm?
|
# FIXME: validate vm?
|
||||||
@ -460,8 +461,10 @@ def usb_check_attached(backend_vm, device):
|
|||||||
dev = xs.read(xs_trans, '/local/domain/%d/backend/vusb/%s/%s/port/%s' % (backend_vm, vm, frontend_dev, port))
|
dev = xs.read(xs_trans, '/local/domain/%d/backend/vusb/%s/%s/port/%s' % (backend_vm, vm, frontend_dev, port))
|
||||||
if dev == device:
|
if dev == device:
|
||||||
frontend = "%s-%s" % (frontend_dev, port)
|
frontend = "%s-%s" % (frontend_dev, port)
|
||||||
return {"xid":int(vm), "frontend": frontend, "devid": device, "vm": "FIXME"}
|
attached_dev = {"xid":int(vm), "frontend": frontend, "devid": device, "vm": "FIXME"}
|
||||||
return None
|
break
|
||||||
|
xs.transaction_end(xs_trans)
|
||||||
|
return attached_dev
|
||||||
|
|
||||||
def usb_check_frontend_busy(vm, front_dev, port):
|
def usb_check_frontend_busy(vm, front_dev, port):
|
||||||
devport = frontend.split("-")
|
devport = frontend.split("-")
|
||||||
|
Loading…
Reference in New Issue
Block a user