Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 May 2016 01:08:30 -0700
From:      "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Garrett Cooper <ngie@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r299108 - head/sys/sys
Message-ID:  <7993F466-ADCA-4E82-A258-9E2C7BA8896C@gmail.com>
In-Reply-To: <2598444.C6bcyDe9AO@ralph.baldwin.cx>
References:  <201605050251.u452pVSN034598@repo.freebsd.org> <2598444.C6bcyDe9AO@ralph.baldwin.cx>

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

> On May 4, 2016, at 20:17, John Baldwin <jhb@freebsd.org> wrote:
>=20
> On Thursday, May 05, 2016 02:51:31 AM Garrett Cooper wrote:
>> Author: ngie
>> Date: Thu May  5 02:51:31 2016
>> New Revision: 299108
>> URL: https://svnweb.freebsd.org/changeset/base/299108
>>=20
>> Log:
>>  Revert r299096
>>=20
>>  The change broke buildworld when building lib/libkvm
>>=20
>>  This change likely needs to be run through a ports -exp run as a =
sanity
>>  check, as it might break downstream consumers.
>>=20
>>  Pointyhat to: adrian
>>  Reported by: kargl (confirmed on $work workstation)
>>  Sponsored by: EMC / Isilon Storage Division
>=20
> 'struct foo *' can be use with a simple forward declare in headers =
without
> requiring header pollution (and is often done for that reason).  =
device_t
> should be used in any .c files, but headers might need to stick with
> 'struct device *' in a few cases for that reason.  I suspect both of =
these
> fall into that category.

	I agree based on the technical point (I didn=E2=80=99t dig into =
the why, but it makes sense), but this commit wasn=E2=80=99t even =
compile tested. I would rather figure out what the effects are before =
reintroducing the change.
	If this is being done to address compatibility issues with =
linuxkpi, I see two paths forward with this (there are probably more..):
	1. Convert everything over to device_t (which bde@ disagrees =
with), after doing a full tinderbox run and exp- run
	2. Localize the =E2=80=9Cshim=E2=80=9D/typedef to linuxkpi so =
device_t is used there, or struct device* is used there.
Thoughts?
-Ngie=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7993F466-ADCA-4E82-A258-9E2C7BA8896C>