Refactor zfs_context.h to build on FreeBSD

- on Linux move Linux specific headers to zfs_context_os.h
- on FreeBSD move FreeBSD specific definitions to zfs_context_os.h
- remove duplicate tsd_ definitions
- remove unused AT_TYPE

Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Don Brady <don.brady@delphix.com>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9668
This commit is contained in:
Matthew Macy 2019-12-04 13:12:57 -08:00 committed by Brian Behlendorf
parent 618b6adfbf
commit be627fc847
6 changed files with 38 additions and 26 deletions

View File

@ -16,6 +16,7 @@ KERNEL_H = \
$(top_srcdir)/include/os/linux/zfs/sys/trace_zil.h \ $(top_srcdir)/include/os/linux/zfs/sys/trace_zil.h \
$(top_srcdir)/include/os/linux/zfs/sys/trace_zio.h \ $(top_srcdir)/include/os/linux/zfs/sys/trace_zio.h \
$(top_srcdir)/include/os/linux/zfs/sys/trace_zrlock.h \ $(top_srcdir)/include/os/linux/zfs/sys/trace_zrlock.h \
$(top_srcdir)/include/os/linux/zfs/sys/zfs_context_os.h \
$(top_srcdir)/include/os/linux/zfs/sys/zfs_ctldir.h \ $(top_srcdir)/include/os/linux/zfs/sys/zfs_ctldir.h \
$(top_srcdir)/include/os/linux/zfs/sys/zfs_dir.h \ $(top_srcdir)/include/os/linux/zfs/sys/zfs_dir.h \
$(top_srcdir)/include/os/linux/zfs/sys/zfs_vfsops.h \ $(top_srcdir)/include/os/linux/zfs/sys/zfs_vfsops.h \

View File

@ -19,12 +19,12 @@
* *
* CDDL HEADER END * CDDL HEADER END
*/ */
/*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _LIBSPL_SYS_BITMAP_H #ifndef ZFS_CONTEXT_OS_H
#define _LIBSPL_SYS_BITMAP_H #define ZFS_CONTEXT_OS_H
#include <sys/uio_impl.h>
#include <linux/dcache_compat.h>
#include <linux/utsname_compat.h>
#endif #endif

View File

@ -29,7 +29,6 @@
#define _SYS_ZFS_CONTEXT_H #define _SYS_ZFS_CONTEXT_H
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <sys/note.h> #include <sys/note.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/atomic.h> #include <sys/atomic.h>
@ -48,7 +47,6 @@
#include <sys/strings.h> #include <sys/strings.h>
#include <sys/byteorder.h> #include <sys/byteorder.h>
#include <sys/list.h> #include <sys/list.h>
#include <sys/uio_impl.h>
#include <sys/time.h> #include <sys/time.h>
#include <sys/zone.h> #include <sys/zone.h>
#include <sys/kstat.h> #include <sys/kstat.h>
@ -61,11 +59,8 @@
#include <sys/disp.h> #include <sys/disp.h>
#include <sys/trace.h> #include <sys/trace.h>
#include <sys/procfs_list.h> #include <sys/procfs_list.h>
#include <linux/dcache_compat.h>
#include <linux/utsname_compat.h>
#include <sys/mod.h> #include <sys/mod.h>
#include <sys/sysmacros.h> #include <sys/zfs_context_os.h>
#else /* _KERNEL */ #else /* _KERNEL */
#define _SYS_MUTEX_H #define _SYS_MUTEX_H
@ -88,7 +83,6 @@
#include <pthread.h> #include <pthread.h>
#include <setjmp.h> #include <setjmp.h>
#include <assert.h> #include <assert.h>
#include <alloca.h>
#include <umem.h> #include <umem.h>
#include <limits.h> #include <limits.h>
#include <atomic.h> #include <atomic.h>
@ -101,7 +95,6 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/cred.h> #include <sys/cred.h>
#include <sys/sysmacros.h> #include <sys/sysmacros.h>
#include <sys/bitmap.h>
#include <sys/resource.h> #include <sys/resource.h>
#include <sys/byteorder.h> #include <sys/byteorder.h>
#include <sys/list.h> #include <sys/list.h>
@ -117,6 +110,8 @@
#include <sys/utsname.h> #include <sys/utsname.h>
#include <sys/trace_zfs.h> #include <sys/trace_zfs.h>
#include <sys/zfs_context_os.h>
/* /*
* Stack * Stack
*/ */
@ -333,15 +328,7 @@ extern void cv_broadcast(kcondvar_t *cv);
*/ */
#define tsd_get(k) pthread_getspecific(k) #define tsd_get(k) pthread_getspecific(k)
#define tsd_set(k, v) pthread_setspecific(k, v) #define tsd_set(k, v) pthread_setspecific(k, v)
#define tsd_create(kp, d) pthread_key_create(kp, d) #define tsd_create(kp, d) pthread_key_create((pthread_key_t *)kp, d)
#define tsd_destroy(kp) /* nothing */
/*
* Thread-specific data
*/
#define tsd_get(k) pthread_getspecific(k)
#define tsd_set(k, v) pthread_setspecific(k, v)
#define tsd_create(kp, d) pthread_key_create(kp, d)
#define tsd_destroy(kp) /* nothing */ #define tsd_destroy(kp) /* nothing */
/* /*
@ -562,7 +549,6 @@ typedef struct vsecattr {
size_t vsa_aclentsz; /* ACE size in bytes of vsa_aclentp */ size_t vsa_aclentsz; /* ACE size in bytes of vsa_aclentp */
} vsecattr_t; } vsecattr_t;
#define AT_TYPE 0x00001
#define AT_MODE 0x00002 #define AT_MODE 0x00002
#define AT_UID 0x00004 #define AT_UID 0x00004
#define AT_GID 0x00008 #define AT_GID 0x00008

View File

@ -7,4 +7,5 @@ libspl_HEADERS = \
$(top_srcdir)/lib/libspl/include/os/linux/sys/param.h \ $(top_srcdir)/lib/libspl/include/os/linux/sys/param.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/stat.h \ $(top_srcdir)/lib/libspl/include/os/linux/sys/stat.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/sysmacros.h \ $(top_srcdir)/lib/libspl/include/os/linux/sys/sysmacros.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/uio.h $(top_srcdir)/lib/libspl/include/os/linux/sys/uio.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/zfs_context_os.h

View File

@ -0,0 +1,25 @@
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
#ifndef ZFS_CONTEXT_OS_H
#define ZFS_CONTEXT_OS_H
#endif

View File

@ -4,7 +4,6 @@ libspldir = $(includedir)/libspl/sys
libspl_HEADERS = \ libspl_HEADERS = \
$(top_srcdir)/lib/libspl/include/sys/acl.h \ $(top_srcdir)/lib/libspl/include/sys/acl.h \
$(top_srcdir)/lib/libspl/include/sys/acl_impl.h \ $(top_srcdir)/lib/libspl/include/sys/acl_impl.h \
$(top_srcdir)/lib/libspl/include/sys/bitmap.h \
$(top_srcdir)/lib/libspl/include/sys/callb.h \ $(top_srcdir)/lib/libspl/include/sys/callb.h \
$(top_srcdir)/lib/libspl/include/sys/cmn_err.h \ $(top_srcdir)/lib/libspl/include/sys/cmn_err.h \
$(top_srcdir)/lib/libspl/include/sys/cred.h \ $(top_srcdir)/lib/libspl/include/sys/cred.h \