[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v9 06/17] libxl: convert libxl__device_disk_local_attach to an async op
Ian Jackson writes ("Re: [PATCH v9 06/17] libxl: convert libxl__device_disk_local_attach to an async op"): > Roger Pau Monne writes ("Re: [PATCH v9 06/17] libxl: convert > libxl__device_disk_local_attach to an async op"): > > [stuff] > > Thanks. > > > Ian Jackson wrote: > > >> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c > > > ... > > >> @@ -2191,6 +2202,7 @@ char * libxl__device_disk_local_attach(libxl__gc > > >> *gc, > > >> default: > > >> LIBXL__LOG(ctx, LIBXL__LOG_ERROR, > > >> "unrecognized disk format: %d", > > >> disk->format); > > >> + rc = ERROR_FAIL; > > >> break; > > > > > > Why `break' and not `goto out' ? (Here and later.) > > > > > > Perhaps this would be clear from context. > > > > This is part of the original code, and I don't think it's a good idea to > > add more patches to my series, if we want to get them in for 4.2. > > Perhaps this would have been clearer in context. Can I have a git > branch to look at next time pretty please ? :-) (I see you're working > on that, great, thanks.) I have looked at this in context and it doesn't seem right to me. Or at least not clearly right. `break' here ends up falling out of the switch and executes this: if (disk->vdev != NULL) { rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device); if (rc < 0) goto out; In the general case vdev will be non-0, so the rc = ERROR_FAIL is lost. I think you can fix thi sin the same patch as you add the assignments to rc, changing the error breaks to `goto out'. Would that make the code right in your opinion ? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |