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.