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 Drewhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A894F0B.3080606>
