Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: rump LOCKDEBUG panic



On Sat, Jan 14, 2017 at 05:32:36PM +0800, Paul Goyette wrote:
> Yeah, it seems that the rump initialization code is calling routine
> drvctl_init() in order to determine the c-major for the /dev/drvctl node.
> The right thing to do here is to temporarily attach the cdevsw structure,
> retrieve the c-major, and then detach the cdevsw.  Later, normal module
> initialization code will handle the full-blown attach of the drvctl device
> module.
> 
> Interestingly, it seems that this code is broken in other ways, too!  In
> particular, even though it retrieves the c-major for /dev/drvctl, it never
> actually creates the device node!  So I have to wonder if you can even use
> drvctl within rump at this time!
> 
> Anyway, try the attached patch.  It should avoid the duplicate attempts at
> calling drvctl_init(), and it should also enable /dev/drvctl within the rump
> environment.  Let me know if it helps.

Indeed - no more panics! (I also added a #include <rump-sys/vfs.h> )

Thanks!

Patrick


Home | Main Index | Thread Index | Old Index