[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: handle TapdiskException when add device failed
On Thu, Mar 20, 2014 at 06:36:54PM +0800, æä wrote: > >From 79220a11ce64324228ba0390790773b41bf5f156 Mon Sep 17 00:00:00 2001 > From: Yi Li <peteryili@xxxxxxxxxxx> > Date: Thu, 20 Mar 2014 18:25:03 +0800 > Subject: [PATCH] xen: handle TapdiskException when add device failed > > handle the TapdiskException when add device > and check the args when using xm block-attach > > Signed-off-by: Yi Li <peteryili@xxxxxxxxxxx> > --- > tools/python/xen/xend/XendDomainInfo.py | 4 ++-- > tools/python/xen/xm/main.py | 12 ++++++++++++ > 2 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/tools/python/xen/xend/XendDomainInfo.py > b/tools/python/xen/xend/XendDomainInfo.py > index 8d4ff5c..2270ab1 100644 > --- a/tools/python/xen/xend/XendDomainInfo.py > +++ b/tools/python/xen/xend/XendDomainInfo.py > @@ -65,7 +65,7 @@ from xen.xend.XendConstants import * > from xen.xend.XendAPIConstants import * > from xen.xend.XendCPUPool import XendCPUPool > from xen.xend.server.DevConstants import xenbusState > -from xen.xend.server.BlktapController import TapdiskController > +from xen.xend.server.BlktapController import TapdiskController, > TapdiskException > This line is wrapped by your email client. > from xen.xend.XendVMMetrics import XendVMMetrics > > @@ -861,7 +861,7 @@ class XendDomainInfo: > # blktap1 > dev_type = self.getBlockDeviceClass(devid) > self._waitForDevice(dev_type, devid) > - except VmError, ex: > + except (VmError, TapdiskException), ex: > del self.info['devices'][dev_uuid] > if dev_type == 'pci': > for dev in dev_config_dict['devs']: > diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py > index 5ed781c..d28fb68 100644 > --- a/tools/python/xen/xm/main.py > +++ b/tools/python/xen/xm/main.py > @@ -2650,6 +2650,18 @@ def parse_block_configuration(args): > def xm_block_attach(args): > arg_check(args, 'block-attach', 4, 5) > > + uname=args[1] > + uname_list=uname.split(":") > + back_dev=uname_list[len(uname_list)-1] > + front_dev=args[2] if ("/dev" in args[2]) else ("/dev/" + args[2]) Coding style: need space between "=". And hardcoding a path in code is not very good practice. Further more what's the rationale to restrict everything in "/dev"? Isn't the most rationale thing to do is for user to use the exact path he / she provides? > + if not os.path.exists(back_dev): > + print "Error: %s not exist " % back_dev > + sys.exit(1) > + > + if os.path.exists(front_dev): > + print "Error: %s already exists " % front_dev > + sys.exit(1) > + > if serverType == SERVER_XEN_API: > dom = args[0] > uname = args[1] > -- > 1.7.1 > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |