Subject: Re: port-xen/29775: Cannot use a vnode disk for domU
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-kern
Date: 03/24/2005 14:31:33
On Thu, Mar 24, 2005 at 07:53:01AM +0900, YAMAMOTO Takashi wrote:
> > With:
> > panic: lockmgr: no context
> > It is in vndstrategy:
> > 		vn_lock(vnd->sc_vp, LK_EXCLUSIVE | LK_RETRY | LK_CANRECURSE);
> > 
> > This means that I/O on the vnd block device expect to be called from
> > a process context, while the xbd backend calls it from interrupt context.
> 
> do you have a backtrace?

I had, but the problem is quite clear: when writing to a vnd, the chain
always end up calling vndstrategy() which always end up calling vn_lock().
So we can't write to a vnd from interrupt context. The xbd backen initiates
its I/O from interrupt context (the interrupt from the hypervisor, signaling
that there is a request pending for this xbd).

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--