[RFC/RFT] calloutng
Mark Johnston
markjdb at gmail.com
Sat Dec 15 20:35:16 UTC 2012
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>
More information about the freebsd-arch
mailing list