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

Re: [Xen-API] blktap kernel module and new kernels



W dniu 28.06.2012 17:05, Konrad Rzeszutek Wilk pisze:
On Thu, Jun 28, 2012 at 04:56:33PM +0200, Pawel Tomulik wrote:
W dniu 28.06.2012 16:10, Konrad Rzeszutek Wilk pisze:
On Thu, Jun 28, 2012 at 03:36:59PM +0200, Pawel Tomulik wrote:
Hi,

anyone knows how to use blktap-dkms with new kernels (3.4, 3.5 for
example)? It seems that there are changes in kernel sources, that
render current versions of blktap-dkms unusable (either it won't compile
or loasd). Where can I report this issue?

You can report it here, but nobody is maintaining it. If you are
up to it - you can fix the problems and become the maintainer of it?


I don't feel so strong. I'm just a poor user. :)
If it's unmaintained, then what's the future of all that stuff
(xen/xapi/whatever)? Is there an alternative for blktap? (sorry for
lame questions)

I think Mike is thinking about an user-space blktap daemon.
But I hadn't really seen any code..


You can get a xenbits git tree with the responsiblity :-)

My eventual patches are unlikelly to work (it's tested) :)

Why not? If they are tested and they work..


No, no, they are tested and it's confirmed that they don't work :)

The problem is, that there are changes in the kernel's interface,
somewhere around mmap (whathever it is :-) ). I've tried some easy
hacks but they don't work.

The problem is with that function:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=mm/mmap.c;h=3edfcdfa42d9f27a5238780065220ec3b4fc702a;hb=47b514cd476db2eca066a2ad31501b079d6c9cce#l974

which is no longer exported in 3.5 (certainly for some reason with good
rationale) and in 3.4 it's prototype disappear for a while from kernel
headers. This function is used by blktap-dkms:

https://github.com/jonludlam/blktap-dkms/blob/master/ring.c#L206
https://github.com/jonludlam/blktap-dkms/blob/master/ring.c#L226

I've tried to replace calls to do_mmap_pgoff()/do_munmap() with a call to vm_mmap()/vm_munmap()

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=mm/util.c;h=8c7265afa29f2109b884907daa050b79f0b25f8b;hb=47b514cd476db2eca066a2ad31501b079d6c9cce#l361

i.e. I replaced:
        addr = do_mmap_pgoff(filp, addr, len, prot, flags, pgoff);
with
        addr = vm_mmap(filp, addr, len, prot, flags, pgoff << PAGE_SHIFT);

and
        err = do_munmap(current->mm, addr, len);
with
        err = vm_munmap(addr, len);

but these hacks didn't work (at least on 3.5) causing freezes during
guest vm startup and later hangups of dom0 (well, they added some
mutex checks in kernel code, so .. ).

If someone could take a look on this, maybe tehere is some simple
fix until user-space replacement become available?


Regards!
--
PaweÅ Tomulik




_______________________________________________
Xen-api mailing list
Xen-api@xxxxxxxxxxxxx
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api

 


Rackspace

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