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

Re: [Xen-users] Xen + LVM + drbd crash



On Tue, Aug 21, 2007 at 10:03:39PM +0100, Tony Hoyle wrote:
> Thomas Bader wrote:
> 
> >Looks like I would need to build my own packages to try the
> >workaround - or did anyone need blktap too and has found out
> >a shorter way to integrate blktap?
> >
> I've tried about a dozen ways.. the problem seems to be that blktap 
> needs a patch that was rejected by the kernel maintainers in favour of 
> an other incompatible one (and I guess that's debians problem - although 
> from the response you got from the maintainer it sounds more like they 
> just don't give a crap).  I've managed to get a debianised xen kernel as 
> far as 2.6.21 (basically by cannibalising patches from the redhat 
> kernels) but blktap just doesn't work.. 'Couldn't get fd for AIO poll 
> support'

The problem is that Xen includse code in userspace that is dependant on
features which don't exist in the LKML kernels. For Fedora we ripped this 
code out of Xen userspace & replaced it with code which works against what
is actually available in the kernel. That patch is now merged in the 3.1
release of Xen userspace IIRC. The changeset you need in userspace is

changeset:   15385:eeeb77195ac2
user:        kfraser@xxxxxxxxxxxxxxxxxxxxx
date:        Tue Jun 19 16:32:28 2007 +0100
files:       tools/blktap/drivers/Makefile tools/blktap/drivers/block-aio.c 
tools/blktap/drivers/block-qcow.c tools/blktap/drivers/tapaio.c 
tools/blktap/drivers/tapaio.h
description:
blktap: Add fallback code to blktap for missing poll-on-aio support.

blktap requires a xen specific kernel AIO ABI which has been vetoed by
upstream in favour of another approach. Rather than include this ABI,
Fedora has been carrying a patch which makes tap:aio use a thread to
poll for aio events and notify the main thread via a pipe.

The upstream approach of allowing io_getevents() poll normal file
descriptors via epoll is still progressing:
 http://lkml.org/lkml/2007/1/3/16

but when that does make it upstream, blktap will require significant
re-working to use that approach.

In the meantime, here's a patch which uses the poll-in-a-thread
approach only if AIO poll support isn't available. It also hides the
details behind a simple abstraction and makes both tap:aio and
tap:qcow use it.

Signed-off-by: Mark McLoughlin <markmc@xxxxxxxxxx>


Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

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