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

Re: [Xen-devel] pv_ops dom0 x86_32 PAE kernel buildlog of missingsymbols...



>>> Ian Campbell <Ian.Campbell@xxxxxxxxxx> 11.12.08 13:00 >>>
>ERROR: "alloc_empty_pages_and_pagevec" [drivers/xen/blkback/blkbk.ko]
>undefined!
>ERROR: "blk_put_queue" [drivers/xen/blkback/blkbk.ko] undefined!
>ERROR: "free_empty_pages_and_pagevec" [drivers/xen/blkback/blkbk.ko] undefined!
>ERROR: "blk_get_queue" [drivers/xen/blkback/blkbk.ko] undefined!
>ERROR: "set_phys_to_machine" [drivers/xen/blkback/blkbk.ko] undefined!
>
>The *_empty_pages_and_pagevec and set_phys_to_machine are probably fair
>game for an EXPORT_SYMBOL_GPL. The two blk subsystem ones are
>suspicious, the fact that they aren't already exported suggests there is
>another API we should be using.

I'd be curious if you can find one - in our 2.6.25 merge patch the only way
to address this was to open-code what they do in blkback (short of re-adding
the exports):

--- head-2008-12-08.orig/drivers/xen/blkback/blkback.c  2008-12-08 
13:24:54.000000000 +0100
+++ head-2008-12-08/drivers/xen/blkback/blkback.c       2008-12-08 
13:24:57.000000000 +0100
@@ -148,7 +148,7 @@ static void unplug_queue(blkif_t *blkif)
                return;
        if (blkif->plug->unplug_fn)
                blkif->plug->unplug_fn(blkif->plug);
-       blk_put_queue(blkif->plug);
+       kobject_put(&blkif->plug->kobj);
        blkif->plug = NULL;
 }
 
@@ -159,7 +159,8 @@ static void plug_queue(blkif_t *blkif, s
        if (q == blkif->plug)
                return;
        unplug_queue(blkif);
-       blk_get_queue(q);
+       WARN_ON(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags));
+       kobject_get(&q->kobj);
        blkif->plug = q;
 }
 

Jan


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


 


Rackspace

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