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>