[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] libxl device_disk_add orphans blktap devices on transaction error



I'm using the CentOS 6 bundle of xen from
http://dev.centos.org/centos/6/xen-c6/ and ran into an issue when
creating domains with multiple VHD tap disks.  Comparing unstable to
the 4.2.1 code I'm using, it seems this issue still applies.  I'm
using a configuration line that looks something like

disk = [ 
"tap:vhd:/var/norm/pools/agentTest/d894b704-b890-488d-b66e-1422b2b9a7a5.vhd,xvda,w",
"tap:vhd:/var/norm/pools/agentTest/70bd3927-0e27-4830-9bf0-5b66ba290547.vhd,xvdb,w"
]

What I noticed happening in the code is that in device_disk_add the
call to libxl__xs_transaction_commit returns rc=1 so the "for (;;)"
loop just tries again.  The problem though is that the blktap device
was already created and assigned to a tapdisk process.  So it will
just leave that process hanging out there and allocated a new device
on the second pass through the for loop.  The second run through
succeeds.  What I typically see is that if I have more than 1 disk on
the domain, the first disk gets created fine and then each subsequent
disk gets two tapdisk processes.

Thanks,
Darren

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.