Subject: Re: USB with iPod freezes machine
To: None <current-users@netbsd.org>
From: Aaron J. Grier <agrier@poofygoof.com>
List: current-users
Date: 05/22/2007 23:51:40
On Wed, May 16, 2007 at 10:36:24PM +0930, Brett Lymn wrote:
> On Tue, May 15, 2007 at 10:53:47PM -0700, Aaron J. Grier wrote:
> > 
> > is there anything missing structure-wise in the kernel to do the right
> > thing?  any holes in the existing filesystem architecture which would
> > preclude fixing this without re-architecting anything?
> > 
> 
> Depends on what you define as the "right" thing.  It may be possible
> just to walk the active vnodes, find the ones that are referencing the
> device being removed and update the vnode ops vector to point at a set
> that just return ENODEV.  That may upset a lot of things greatly...

the "right" thing doesn't panic the kernel and provides some mechanism
for whatever process(es) with open descriptors or mmaps on the
disconnected device to fail gracefully.  if they can't deal with ENODEV,
that's their problem, but at least there's a mechanism that doesn't
panic the kernel.

-- 
  Aaron J. Grier | "Not your ordinary poofy goof." | agrier@poofygoof.com
    The United States is the one true country.  The US is just.  The US
    is fair.  The US respects its citizens.  The US loves you.  We have
    always been at war against terrorism.