From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thanos Makatos Subject: [PATCH 0 of 3] blktap3/libxl: add support for blktap3 in libxl Date: Fri, 19 Apr 2013 16:40:48 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: thanos.makatos@citrix.com List-Id: xen-devel@lists.xenproject.org This patch series implements support for blktap3 in libxl. Supporting blktap3 requires rather few changes: 1. We introduce a new disk back-end type (TAP3) and a new device kind (VBD3) to allow blktap3 to co-exist with blktap3. blktap2 remains the default back-end for tap devices. Switching in the future to blktap3 as the default handler of tap devices should be trivial. 2. libxl doesn't spawn the tapdisk process any more, as is the case for blktap2, since the tapback daemon is responsible for that. Thus, libxl only needs to write to XenStore the file/partition/whatever backing the virtual disk so that the tapback daemon can pass it to tapdisk. 3. Since there is no block device in dom0 any more, pygrub won't be able to boot from VHD files. To get around this problem, pygrub can use the NBD functionality (existing in blktap2.5): it can explicitly ask tapback to create a NDB in order to access the virtual disk. This functionality will be implemented in a future patch series. However, this will only work for Linux dom0's. As a generic solution that would work on any dom0, we could implement a simple protocol for data exchange between pygrub and tapdisk. Signed-off-by: Thanos Makatos --- Changed since v1: * Check whether tapback's control socket exists instead of checking whether a process named "tapback" exists. * Don't duplicate code for writing the type:/path/to/file to XenStore.