WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] blktap: fix blktapctrl abort

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] blktap: fix blktapctrl abort
From: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
Date: Fri, 22 Jan 2010 16:58:26 +0900
Delivery-date: Thu, 21 Jan 2010 23:58:58 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On rebooting a hvm, the blktapctrl daemon has died.

gdb shows the following call trace:
(gdb) where
#0  0x00000039d1830155 in raise () from /lib64/libc.so.6
#1  0x00000039d1831bf0 in abort () from /lib64/libc.so.6
#2  0x00000039d186a38b in __libc_message () from /lib64/libc.so.6
#3  0x00000039d1871634 in _int_free () from /lib64/libc.so.6
#4  0x00000039d1874c5c in free () from /lib64/libc.so.6
#5  0x0000003320a01bdd in ueblktap_probe (h=0x6073b0, 
    w=<value optimized out>, bepath_im=<value optimized out>) at xenbus.c:270
#6  0x0000003320a020e0 in xs_fire_next_watch (h=0x6073b0) at 
xs_api.c:355
#7  0x0000000000401785 in main (argc=<value optimized out>, 
    argv=<value optimized out>) at blktapctrl.c:907

There is a case that "/local/domain/0/backend/tap/<dom_id>" exists but
"/local/domain/<dom_id>/vm" is not in the xenstore.


Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>

diff -r c06732ac2392 tools/blktap/lib/xenbus.c
--- a/tools/blktap/lib/xenbus.c Thu Jan 21 15:13:00 2010 +0000
+++ b/tools/blktap/lib/xenbus.c Fri Jan 22 16:24:33 2010 +0900
@@ -232,8 +232,11 @@ static int check_sharing(struct xs_handl
                        ret = -1;
                        break;
                }
+               cur_dom_uuid = NULL;
                xs_gather(h, path, "vm", NULL, &cur_dom_uuid, NULL);
                free(path);
+               if (!cur_dom_uuid)
+                       continue;
 
                if (!strcmp(cur_dom_uuid, dom_uuid)) {
                        free(cur_dom_uuid);
@@ -256,8 +259,11 @@ static int check_sharing(struct xs_handl
                                ret = -1;
                                break;
                        }
+                       params = NULL;
                        xs_gather(h, path, "params", NULL, &params, NULL);
                        free(path);
+                       if (!params)
+                               continue;
 
                        image_path[1] = get_image_path(params);
                        if (!strcmp(image_path[0], image_path[1])) {
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] blktap: fix blktapctrl abort, Kouya Shimura <=