/ 2006-04-10 14:35:01 +0100
\ Langemeyer, Werner (IBW):
> Dear drbd-user,
> 
> I could not get the drbd version 8 up and running on RHEL4, FC5 as well as on 
> Vmware Workstation 5.5.1 with RHEL4 and FC5 installed.

> Call Trace:
>  [<c02dc5cc>] _spin_lock_irqsave+0x9/0xd     [<c01b7892>] 
> blk_run_queue+0xf/0x37
>  [<d09db7df>] drbd_bm_rw+0x16f/0x3bf [drbd]     [<d09eb966>] 
> drbd_al_shrink+0x19

try the patch below.
I assumed that any block device need to have a queue, or that the
blk_run_queue would if (NULL=q) return; or something like that.
right now, I assumed that would be illegal.


Index: drbd_bitmap.c
===================================================================
--- drbd_bitmap.c       (revision 2143)
+++ drbd_bitmap.c       (working copy)
@@ -758,7 +758,7 @@
                drbd_bm_page_io_async(mdev,b,i,rw);
        }
 
-       blk_run_queue(bdev_get_queue(mdev->bc->md_bdev));
+       drbd_blk_run_queue(bdev_get_queue(mdev->bc->md_bdev));
        wait_event(b->bm_io_wait, atomic_read(&b->bm_async_io) == 0);
        INFO("%s of bitmap took %lu jiffies\n", 
             rw == READ ? "reading" : "writing", jiffies - now);
Index: drbd_int.h
===================================================================
--- drbd_int.h  (revision 2143)
+++ drbd_int.h  (working copy)
@@ -1671,3 +1671,11 @@
 #endif
        return rv;
 }
+
+#define drbd_blk_run_queue(q) do {     \
+       request_queue_t *_q = (q);      \
+       if (_q) blk_run_queue(_q);      \
+       else {                          \
+               WARN(#q "== NULL??\n"); \
+       };                              \
+} while (0)
_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user



_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user

Reply via email to