clone_cleanup() doesn't

Andrew Gallatin gallatin at cs.duke.edu
Mon Aug 17 12:38:01 UTC 2009


Ed Schouten wrote:
> * Andrew Gallatin <gallatin at cs.duke.edu> wrote:
>> FWIW, the fix to my problem was to add D_NEEDMINOR to
>> my cdevsw d_flags, to restore the same behavior as FreeBSD 5/6/7
> 
> Yes. INVARIANTS should trigger a kernel panic if you use clone_create()
> without D_NEEDMINOR. I think you probably didn't have it enabled, which
> means it dies later on.
> 

No, I didn't have INVARIANTS compiled in, I probably should have.

Is there any reason you don't just |= in D_NEEDMINOR on first
use of clone_create()?  By adding the requirement of this flag,
you've gratuitously broken any 3rd party driver using clones,
which has used the same API unchanged since 5.x

Drew


More information about the freebsd-current mailing list