Added print_timestamp() compatibility function, this will be needed
long term but it's a simply enough addition.
Added Solaris style label functions. This was done simply to aid in
the initial update to onnv_141. I'm hopeful that after more careful
inspection all of this can be removed and we can integrate with a
more Linux friendly Solution without breaking any compatibility.
Added several missing headers which are required by the updated
version of ZFS. As usual I just add empty headers if needed because
it's easier than tracking the change against the core ZFS code.
Added SEC, MILLISEC, MICROSEC defines if unavailable.
Added missing xuio structure and typedefs. I'm hopeful these can
be removed as well once we crack the zero-copy nut under Linux.
A change to the nvpair implementation should not have been made in
the libspl-topic branch. This patch fixes that accident by reverting
the change and providing the missing libspl header to allow the
proper building of nvpair_alloc_system.c without the need to modify it.
These changes lay some of the ground work for supporting something
similar to FMA event under Solaris. In particular these changes
add or modify the following areas.
First off an implementation of the gethrestime() function is added
to libspl. Secondly, the missing type processorid_t has been added.
And finally the lib/libspl/include/sys/fm/{protocol.h|util.h} stub
headers have been removed in favor of updating the full versions
in module/zfs/include/sys/fm/{protocol.h|util.h} to work cleanly
in both user and kernel space.
Under linux we open block devices with O_DIRECT which means we must
provide aligned memory buffers. This patch adds the needed umem
interfaces or in the case of caches simply honors alignment provided
at cache creation time.
While the generic atomic implementation is not used by default
for x86_64 or x86 builds, we still need to always build it with
-fPIC if we ever want to use it on these platforms.