Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Aug 2009 08:37:31 -0400
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Ed Schouten <ed@80386.nl>
Cc:        freebsd-current@freebsd.org
Subject:   Re: clone_cleanup() doesn't
Message-ID:  <4A894F0B.3080606@cs.duke.edu>
In-Reply-To: <20090816180911.GL1292@hoeg.nl>
References:  <4A857D16.9070403@cs.duke.edu> <alpine.BSF.2.00.0908141737370.82989@fledge.watson.org> <4A85B9CD.4050802@cs.duke.edu> <20090814193254.GO1884@deviant.kiev.zoral.com.ua> <4A85C325.6050400@cs.duke.edu> <20090816180911.GL1292@hoeg.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
Ed Schouten wrote:
> * Andrew Gallatin <gallatin@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A894F0B.3080606>