Hello, On Thu, Sep 26, 2013 at 09:23:19AM -0700, Anatol Pomozov wrote: > We use modified version of "sbull" block device driver from GKH book. > We use it for testing block device startup/shutdown path + CFQ > manipulation. > > The sbull driver uses function > blk_init_queue(..., &dev->qlock); > > it passes lock as a second parameter and function makes the lock > swapping. According to your information passing lock to > blk_init_queue() considered as an "old non recommended way" so we > should modify our driver and avoid doing this. I'll take a look. I wonder whether we can make request_queue record the passed in lock and grab it in addition to the queue lock instead of replacing it when invoking the request function. This would mean more overhead for the broken drivers but given how legacy they are at this point, I don't think that's gonna be a big problem. if that's likely to work, we may as well just push all the extra locking to the legacy drivers so that their request functions take the extra lock and then we can remove the spinlock argument completely. I'm not sure whether the locking in request path is the only thing necessary tho. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html