[RFC/RFT] calloutng

Alexander Motin mav at FreeBSD.org
Sat Dec 15 21:03:33 UTC 2012


On 15.12.2012 22:50, Davide Italiano wrote:
> On Sat, Dec 15, 2012 at 12:34 PM, Mark Johnston <markjdb at gmail.com> wrote:
>> On Sat, Dec 15, 2012 at 06:55:53PM +0200, Alexander Motin wrote:
>>> I'm sorry to interrupt review, but as usual good ideas came during the
>>> final testing, causing another round. :)  Here is updated patch for
>>> HEAD, that includes several new changes:
>>> http://people.freebsd.org/~mav/calloutng_12_15.patch
>>
>> This patch breaks the libprocstat build.
>>
>> Specifically, the OpenSolaris sys/time.h defines the preprocessor
>> symbols gethrestime and gethrestime_sec. These symbols are also defined
>> in cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h.
>> libprocstat:zfs.c is compiled using include paths that pick up the
>> OpenSolaris time.h, and with this patch _callout.h includes sys/time.h.
>>
>> zfs.c includes taskqueue.h (with _KERNEL defined), which includes
>> _callout.h, so both time.h and zfs_context.h are included in zfs.c, and
>> the symbols are thus defined twice.
>>
>> The patch below fixes the build for me. Another approach might be to
>> include sys/_task.h instead of taskqueue.h at the beginning of zfs.c.
>
> I fixed (or at least workarounded) that issue during the summer.
> http://svnweb.freebsd.org/base?view=revision&revision=237068
> Probably that was lost somewhere. We're going to regenerate a patch,
> but for now I suggest to patch that manually or to checkout the
> calloutng project repository.

Sorry, it's my fault. I've tried to save some time on patch generation 
and forgot about that change in lib/. We haven't touched user-level in 
our work except that file. Here is patch with that chunk added:
http://people.freebsd.org/~mav/calloutng_12_15_1.patch

-- 
Alexander Motin


More information about the freebsd-current mailing list