From owner-freebsd-current@FreeBSD.ORG Mon Aug 17 14:23:15 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 433021065692 for ; Mon, 17 Aug 2009 14:23:15 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id D64418FC57 for ; Mon, 17 Aug 2009 14:23:14 +0000 (UTC) Received: by palm.hoeg.nl (Postfix, from userid 1000) id 178751D1C4; Mon, 17 Aug 2009 16:23:14 +0200 (CEST) Date: Mon, 17 Aug 2009 16:23:14 +0200 From: Ed Schouten To: Andrew Gallatin Message-ID: <20090817142314.GM1292@hoeg.nl> References: <4A857D16.9070403@cs.duke.edu> <4A85B9CD.4050802@cs.duke.edu> <20090814193254.GO1884@deviant.kiev.zoral.com.ua> <4A85C325.6050400@cs.duke.edu> <20090816180911.GL1292@hoeg.nl> <4A894F0B.3080606@cs.duke.edu> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="YMoJtYXQBeUqimUz" Content-Disposition: inline In-Reply-To: <4A894F0B.3080606@cs.duke.edu> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-current@freebsd.org Subject: Re: clone_cleanup() doesn't X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2009 14:23:15 -0000 --YMoJtYXQBeUqimUz Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Andrew, * Andrew Gallatin wrote: > Is there any reason you don't just |=3D 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 Over the last year I've made more rigorous changes to the kernel than adding a new flag to make an undocumented kernel programming interface work. Saying that the API has not been changed since 5.x isn't entirely correct. Even the null.c source code of 5.x doesn't build on HEAD anymore, because of d_maj, for example. Even though we could probably change the code to |=3D D_NEEDMINOR, I'd rather not. Having the flag there makes it very easy for me to figure out which pieces of code still depend on clonelists. As Kostik pointed out, you'd better use the cdevpriv interface if you need per-descriptor data. If it ever turns out we can live without clonelists, I am tempted to remove unit numbers from character devices entirely, making si_drv0 the integer counterpart of si_drv1 and si_drv2. --=20 Ed Schouten WWW: http://80386.nl/ --YMoJtYXQBeUqimUz Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkqJZ9EACgkQ52SDGA2eCwVxqgCZAcyPkE8q0Rvq6iWcSp+WKH23 rXAAn3eqnhJAOGOpbb5Xd2fuvrTitwL8 =CNrN -----END PGP SIGNATURE----- --YMoJtYXQBeUqimUz--