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>

index | next in thread | previous in thread | raw e-mail

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


home | help

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