diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h index e7d164a17..64aee9dc3 100644 --- a/include/sys/zfs_context.h +++ b/include/sys/zfs_context.h @@ -124,6 +124,7 @@ extern "C" { #include #include #include +#include #include #include @@ -177,13 +178,6 @@ extern "C" { #endif /* DTRACE_PROBE4 */ #define DTRACE_PROBE4(a, b, c, d, e, f, g, h, i) -/* - * 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((pthread_key_t *)kp, d) -#define tsd_destroy(kp) /* nothing */ #ifdef __FreeBSD__ typedef off_t loff_t; #endif diff --git a/lib/libspl/include/Makefile.am b/lib/libspl/include/Makefile.am index 7d5e1b7b3..c5e6111fa 100644 --- a/lib/libspl/include/Makefile.am +++ b/lib/libspl/include/Makefile.am @@ -62,6 +62,7 @@ libspl_sys_HEADERS = \ %D%/sys/time.h \ %D%/sys/timer.h \ %D%/sys/trace_spl.h \ + %D%/sys/tsd.h \ %D%/sys/tunables.h \ %D%/sys/types.h \ %D%/sys/types32.h \ diff --git a/lib/libspl/include/sys/tsd.h b/lib/libspl/include/sys/tsd.h new file mode 100644 index 000000000..fa91519b3 --- /dev/null +++ b/lib/libspl/include/sys/tsd.h @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: CDDL-1.0 +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (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 https://opensource.org/licenses/CDDL-1.0. + * 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 + */ +/* + * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2012, 2018 by Delphix. All rights reserved. + * Copyright (c) 2012, Joyent, Inc. All rights reserved. + */ + +#ifndef _SYS_TSD_H +#define _SYS_TSD_H + +#include + +/* + * 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((pthread_key_t *)kp, d) +#define tsd_destroy(kp) /* nothing */ + +#endif /* _SYS_MUTEX_H */ diff --git a/lib/libzpool/kernel.c b/lib/libzpool/kernel.c index 019f4e573..aed0a96bb 100644 --- a/lib/libzpool/kernel.c +++ b/lib/libzpool/kernel.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include