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

next in thread | previous in thread | raw e-mail | index | archive | help
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:
>> Hi.
>>
>> 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.
>
> Thanks,
> -Mark
>
> diff --git a/lib/libprocstat/zfs.c b/lib/libprocstat/zfs.c
> index aa6d78e..f8844bf 100644
> --- a/lib/libprocstat/zfs.c
> +++ b/lib/libprocstat/zfs.c
> @@ -35,6 +35,7 @@
>
>  #undef lbolt
>  #undef lbolt64
> +#undef gethrestime
>  #undef gethrestime_sec
>  #include <sys/zfs_context.h>
>  #include <sys/spa.h>

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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACYV=-H8Lm_TVn5HnxfX%2Bgvv4trXt-Uj8kbgxH1NL9fnWjBdKw>