Re: pre-2.1.96-1 panic: Inactive in scsi_request_queueable

Gerard Roudier (groudier@club-internet.fr)
Tue, 14 Apr 1998 13:15:29 +0200 (MET DST)


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