mirror_zfs/include/sys
Brian Behlendorf d1ff2312b0 Linux VM Integration Cleanup
Remove all instances of functions being reimplemented in the SPL.
When the prototypes are available in the linux headers but the
function address itself is not exported use kallsyms_lookup_name()
to find the address.  The function name itself can them become a
define which calls a function pointer.  This is preferable to
reimplementing the function in the SPL because it ensures we get
the correct version of the function for the running kernel.  This
is actually pretty safe because the prototype is defined in the
headers so we know we are calling the function properly.

This patch also includes a rhel5 kernel patch we exports the needed
symbols so we don't need to use kallsyms_lookup_name().  There are
autoconf checks to detect if the symbol is exported and if so to
use it directly.  We should add patches for stock upstream kernels
as needed if for no other reason than so we can easily track which
additional symbols we needed exported.  Those patches can also be
used by anyone willing to rebuild their kernel, but this should
not be a requirement.  The rhel5 version of the export-symbols
patch has been applied to the chaos kernel.

Additional fixes:
1) Implement vmem_size() function using get_vmalloc_info()
2) SPL_CHECK_SYMBOL_EXPORT macro updated to use $LINUX_OBJ instead
   of $LINUX because Module.symvers is a build product.  When
   $LINUX_OBJ != $LINUX we will not properly detect exported symbols.
3) SPL_LINUX_COMPILE_IFELSE macro updated to add include2 and
   $LINUX/include search paths to allow proper compilation when
   the kernel target build directory is not the source directory.
2009-03-04 10:04:15 -08:00
..
fm Build system update 2009-02-12 14:45:22 -08:00
fs Build system update 2009-02-12 14:45:22 -08:00
sysevent Build system update 2009-02-12 14:45:22 -08:00
acl_impl.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
acl.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
atomic.h Pull in initial 32-bit support patches. 2008-08-11 22:42:04 +00:00
attr.h Just filling in more of the env. 2008-03-08 00:58:32 +00:00
bitmap.h Add a few more missing header which the upstream stock kernel context expects 2008-12-23 13:03:09 -08:00
bootconf.h Add two new stub headers 2009-01-09 14:04:13 -08:00
buf.h SPL additions to increase support for updated ZFS build 2008-05-15 23:39:19 +00:00
byteorder.h - Add some more missing headers 2008-03-12 23:48:28 +00:00
callb.h - Properly fix the debug support for all the ASSERT's, VERIFIES, etc can be 2008-05-19 02:49:12 +00:00
cmn_err.h Add some typedefs to make it clearer when we passing a function, 2008-03-10 19:25:20 +00:00
compress.h Add include/sys/compress.h header 2009-01-06 09:47:00 -08:00
condvar.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
conf.h Add a few more missing header which the upstream stock kernel context expects 2008-12-23 13:03:09 -08:00
cpuvar.h Add a few more missing header which the upstream stock kernel context expects 2008-12-23 13:03:09 -08:00
crc32.h Add missing stub headers 2009-01-09 16:04:44 -08:00
cred.h Missing headers, more minor fixes 2008-03-15 00:05:38 +00:00
ctype.h Checkpoint for the night, 2008-03-05 00:58:54 +00:00
ddi.h Drop unicode support, provided in ZFS tree libport 2008-03-13 19:49:09 +00:00
debug.h Remove stray ` from macro 2009-01-23 08:59:11 -08:00
dirent.h Add a few more missing header which the upstream stock kernel context expects 2008-12-23 13:03:09 -08:00
disp.h Add a few more missing header which the upstream stock kernel context expects 2008-12-23 13:03:09 -08:00
dkio.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
dklabel.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
dnlc.h Linux VM integration / device special files 2009-02-04 15:15:41 -08:00
dumphdr.h SPL additions to increase support for updated ZFS build 2008-05-15 23:39:19 +00:00
efi_partition.h Add missing stub headers 2009-01-09 16:04:44 -08:00
errno.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
file.h OK, a first reasonable attempt at a solaris module/chdev shim layer. 2008-03-20 23:30:15 +00:00
int_limits.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
int_types.h Checkpoint for the night, 2008-03-05 00:58:54 +00:00
inttypes.h Remove spl.h, just include the headers you need. 2008-03-04 20:06:29 +00:00
isa_defs.h Double large kmalloc warning size to 4 pages. It was 2 pages, and ideally 2008-04-01 16:09:18 +00:00
kidmap.h Apply fix from bug239 for rwlock deadlock. 2008-03-11 20:54:40 +00:00
kmem.h Linux VM Integration Cleanup 2009-03-04 10:04:15 -08:00
kobj.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
kstat.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
list.h Add 5 splat tests for list handling 2009-01-07 12:54:03 -08:00
Makefile.am Build system update 2009-02-12 14:45:22 -08:00
Makefile.in Build system update 2009-02-12 14:45:22 -08:00
mkdev.h Add missing headers 2008-03-14 00:04:01 +00:00
mntent.h Add missing headers 2008-03-14 00:04:01 +00:00
modctl.h Add stubs for three more includes 2009-01-09 09:47:27 -08:00
mode.h Add missing headers 2008-03-14 00:04:01 +00:00
mount.h Missing headers, more minor fixes 2008-03-15 00:05:38 +00:00
mutex.h Fixes: 2008-06-04 06:00:46 +00:00
note.h Add a few more missing header which the upstream stock kernel context expects 2008-12-23 13:03:09 -08:00
open.h Add stubs for three more includes 2009-01-09 09:47:27 -08:00
param.h Reorganize /include/ to add a /sys/, this way we don't need to 2008-03-01 00:45:59 +00:00
pathname.h Add missing headers 2008-03-14 00:04:01 +00:00
policy.h Add missing policy includes, add missing sun ddi bits 2009-01-09 10:49:47 -08:00
proc.h Add zone_get_hostid() function 2009-02-19 11:26:17 -08:00
random.h Coverity 9652, 9653: No Effect 2009-02-17 16:30:58 -08:00
refstr.h Add two new stub headers 2009-01-09 14:04:13 -08:00
resource.h Add two more missing headers 2008-03-13 20:41:29 +00:00
rwlock.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
sdt.h Missing headers, more minor fixes 2008-03-15 00:05:38 +00:00
sid.h Add basic ksid_lookupdomain and ksiddomain_rele support, just allocations 2009-01-09 15:30:53 -08:00
signal.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
stat.h Add two more missing headers 2008-03-13 20:41:29 +00:00
stropts.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
sunddi.h Linux VM integration / device special files 2009-02-04 15:15:41 -08:00
sunldi.h Pull the blkdev header in to the sunldi for some useful structure definitions and helper functions 2009-01-26 16:47:49 -08:00
sysevent.h - Add some more missing headers 2008-03-12 23:48:28 +00:00
sysmacros.h Add zone_get_hostid() function 2009-02-19 11:26:17 -08:00
systeminfo.h Add zone_get_hostid() function 2009-02-19 11:26:17 -08:00
systm.h Move sunddi include 2008-12-23 13:32:07 -08:00
t_lock.h Pull in lock types 2008-12-23 13:18:39 -08:00
taskq.h Add system taskq support 2009-01-05 15:08:03 -08:00
thread.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
time.h Add timer.h header 2008-12-23 15:40:20 -08:00
timer.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
types32.h Remove minor lingering CDDL tait of copied headers. Required 2008-03-27 23:40:09 +00:00
types.h Linux VM Integration Cleanup 2009-03-04 10:04:15 -08:00
u8_textprep.h Stub u8_textprep.h for inclusion purposes 2009-01-05 15:37:07 -08:00
uio.h Move sunddi include 2008-12-23 13:32:07 -08:00
unistd.h Add missing headers 2008-03-14 00:04:01 +00:00
utsname.h Update utsname to use proper compatible interface to avoid API issues. 2008-06-03 21:20:18 +00:00
va_list.h Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
varargs.h Add somre debugging support 2008-03-08 00:18:21 +00:00
vfs_opreg.h Add missing headers 2008-03-14 00:04:01 +00:00
vfs.h Add missing callback_context_t and fid_t types 2009-01-09 10:03:37 -08:00
vmsystm.h Linux VM Integration Cleanup 2009-03-04 10:04:15 -08:00
vnode.h Add VOP_SEEK 2009-01-09 13:59:39 -08:00
zmod.h Changed z_compress_level() and z_uncompress() prototypes to match the ones in Solaris. 2009-02-23 11:45:59 -08:00
zone.h - Add some more missing headers 2008-03-12 23:48:28 +00:00