[Linux-cluster] GNBD: interrupt bug.

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

 



I seem to have found a bug in GNBD that I'm wondering if anyone else
has noticed.  On a Linux 2.6.9 host, mounting a remote GNBD partition,
i am hitting the WARN_ON in linux's local_bh_enable()
(kernel/softirq.c:141).  This results in repeated stack dumps,
effectively locking up the host.

After a bit of looking, it would appear that do_gnbd_request() in
gnbd.c expects to be called with interrupts disabled.  Unfortunately,
the entry through generic_unplug_device does not disable interrupts
first, and so the gnbd code is disagreeing.  The specific code in
gnbd.c that is causing problems is:

   spin_unlock_irq(q->queue_lock);
   ... 
   spin_lock_irq(q->queue_lock);

I'm planning to look at this a bit more tonight, but thought I'd
quickly check if anyone had initial insight.  I'm not yet sure if the
bug is on the Linux or the gnbd side here.

cheers,
a.


[Index of Archives]     [Corosync Cluster Engine]     [GFS]     [Linux Virtualization]     [Centos Virtualization]     [Centos]     [Linux RAID]     [Fedora Users]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Camping]

  Powered by Linux