Messages in this thread | | | Date | Tue, 14 Apr 1998 13:15:29 +0200 (MET DST) | From | Gerard Roudier <> | Subject | Re: pre-2.1.96-1 panic: Inactive in scsi_request_queueable |
| |
On Mon, 13 Apr 1998, Linus Torvalds wrote:
> On Tue, 14 Apr 1998, Keith Owens wrote: > > > > After patching ll_rw_block to release the spinlock before calling > > dev->request_fn, loopback worked. Alas it exposed another bug, panic: > > Inactive in scsi_request_queueable. The comments at the start of > > scsi_request_queueable say it must be called with interrupts disabled > > but it seems that they are enabled. > > It must be called with the IO-request lock held, which is why your change > introduces a problem. > > The correct fix to the loopback problem is to make sure loopback doesn't > cause any recursive invocations of the io-request lock, so there is a need > to drop the lock somewhere in the loopback driver. I've never known the > loopback driver well enough to know where..
It needs at least bmap() and ll_rw_blk() services to access the file, 2 reasons for ll_rw_blk() to be reentered from the loopback strategy routine. At the places these functions are called it probably does'nt need to hold the io-request lock, so releasing it before and aquiring it after the call may have chance to work, but I don't bet anything it will.
Gerard.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |