[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: during domain destruction, do not complain if no devices dir to destroy
# HG changeset patch # User Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> # Date 1296239906 0 # Node ID 29eaad8e388aa23993b144f0002c614c565e8e57 # Parent 5eaf9405ed51debda48b6177fdfa7471d52f7d87 libxl: during domain destruction, do not complain if no devices dir to destroy Previously calling libxl__devices_destroy on a half-constructed or half-destroyed domain would sometimes complain along these lines: libxl: error: libxl_device.c:327:libxl__devices_destroy /local/domain/29/device is empty This is (a) not a reasonable thing to complain about and (b) not an accurate description of all the things that that particular failure of libxl__xs_directory might mean. Change the code to check errno, so that if errno==ENOENT we silently continue, not destroying any devices, and if errno!=ENOENT, properly log the problem and fail. Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/libxl_device.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff -r 5eaf9405ed51 -r 29eaad8e388a tools/libxl/libxl_device.c --- a/tools/libxl/libxl_device.c Fri Jan 28 18:37:25 2011 +0000 +++ b/tools/libxl/libxl_device.c Fri Jan 28 18:38:26 2011 +0000 @@ -324,8 +324,12 @@ int libxl__devices_destroy(libxl_ctx *ct path = libxl__sprintf(&gc, "/local/domain/%d/device", domid); l1 = libxl__xs_directory(&gc, XBT_NULL, path, &num1); if (!l1) { - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s is empty", path); - goto out; + if (errno != ENOENT) { + LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unable to get xenstore" + " device listing %s", path); + goto out; + } + num1 = 0; } for (i = 0; i < num1; i++) { if (!strcmp("vfs", l1[i])) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |