Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Dec 2012 23:03:27 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        Davide Italiano <davide@freebsd.org>
Cc:        freebsd-arch@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org>, Mark Johnston <markjdb@gmail.com>
Subject:   Re: [RFC/RFT] calloutng
Message-ID:  <50CCE59F.1080107@FreeBSD.org>
In-Reply-To: <CACYV=-H8Lm_TVn5HnxfX%2Bgvv4trXt-Uj8kbgxH1NL9fnWjBdKw@mail.gmail.com>
References:  <50CCAB99.4040308@FreeBSD.org> <20121215203458.GA22361@oddish> <CACYV=-H8Lm_TVn5HnxfX%2Bgvv4trXt-Uj8kbgxH1NL9fnWjBdKw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15.12.2012 22:50, Davide Italiano wrote:
> On Sat, Dec 15, 2012 at 12:34 PM, Mark Johnston <markjdb@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50CCE59F.1080107>