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:
> 
> 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
>> 
>> Log:
>>  Revert r299096
>> 
>>  The change broke buildworld when building lib/libkvm
>> 
>>  This change likely needs to be run through a ports -exp run as a sanity
>>  check, as it might break downstream consumers.
>> 
>>  Pointyhat to: adrian
>>  Reported by: kargl (confirmed on $work workstation)
>>  Sponsored by: EMC / Isilon Storage Division
> 
> '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’t dig into the why, but it makes sense), but this commit wasn’t 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 “shim”/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>