Messages in this thread | | | Date | Mon, 12 Apr 2004 12:22:15 +0400 | From | Paul P Komkoff Jr <> | Subject | Re: 2.6.5-mm4 |
| |
Replying to Andrew Morton: > I added a might_sleep() to generic_unplug_device(), because some drivers' > unplug functions can sleep. > > It appears that either the EVMS or the udm2 patch is calling > generic_unplug_device() under a lock. Probably spin_lock_irq(q->lock).
can it be thisi (raid1.c):
static void unplug_slaves(mddev_t *mddev) { conf_t *conf = mddev_to_conf(mddev); int i; unsigned long flags;
spin_lock_irqsave(&conf->device_lock, flags); for (i=0; i<mddev->raid_disks; i++) { mdk_rdev_t *rdev = conf->mirrors[i].rdev; if (rdev && !rdev->faulty) { request_queue_t *r_queue = bdev_get_queue(rdev->bdev);
if (r_queue->unplug_fn) r_queue->unplug_fn(r_queue); } } spin_unlock_irqrestore(&conf->device_lock, flags); }
-- Paul P 'Stingray' Komkoff Jr // http://stingr.net/key <- my pgp key This message represents the official view of the voices in my head - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |