svn commit: r354359 - in head/sys/cddl: compat/opensolaris/kern compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs
Andriy Gapon
avg at FreeBSD.org
Tue Nov 5 14:35:00 UTC 2019
Author: avg
Date: Tue Nov 5 14:34:59 2019
New Revision: 354359
URL: https://svnweb.freebsd.org/changeset/base/354359
Log:
fix up r354333, make zfsproc visible to dtrace, rename to system_proc
I overlooked the fact that zfsproc is required by dtrace modules that
use illumos compatible taskq KPI. So, move the symbol definition to
the opensolaris module that provides compatibility support for both ZFS
and DTrace. Also, rename zfsproc to system_proc to reflect that it is
not specific to ZFS.
Reported by: ae
MFC after: 5 weeks
X-MFC with: ae
Modified:
head/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
head/sys/cddl/compat/opensolaris/sys/proc.h
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
Modified: head/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
==============================================================================
--- head/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c Tue Nov 5 10:59:33 2019 (r354358)
+++ head/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c Tue Nov 5 14:34:59 2019 (r354359)
@@ -42,6 +42,8 @@ static uma_zone_t taskq_zone;
taskq_t *system_taskq = NULL;
+struct proc *system_proc;
+
static void
system_taskq_init(void *arg)
{
@@ -84,7 +86,7 @@ taskq_t *
taskq_create(const char *name, int nthreads, pri_t pri, int minalloc __unused,
int maxalloc __unused, uint_t flags)
{
- return (taskq_create_impl(name, nthreads, pri, zfsproc, flags));
+ return (taskq_create_impl(name, nthreads, pri, system_proc, flags));
}
taskq_t *
Modified: head/sys/cddl/compat/opensolaris/sys/proc.h
==============================================================================
--- head/sys/cddl/compat/opensolaris/sys/proc.h Tue Nov 5 10:59:33 2019 (r354358)
+++ head/sys/cddl/compat/opensolaris/sys/proc.h Tue Nov 5 14:34:59 2019 (r354359)
@@ -61,7 +61,7 @@ typedef struct thread kthread_t;
typedef struct thread *kthread_id_t;
typedef struct proc proc_t;
-extern struct proc *zfsproc;
+extern struct proc *system_proc;
static __inline kthread_t *
do_thread_create(caddr_t stk, size_t stksize, void (*proc)(void *), void *arg,
@@ -80,7 +80,7 @@ do_thread_create(caddr_t stk, size_t stksize, void (*p
ASSERT(pp != NULL);
if (pp == &p0)
- ppp = &zfsproc;
+ ppp = &system_proc;
else
ppp = &pp;
error = kproc_kthread_add(proc, arg, ppp, &td, RFSTOPPED,
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Nov 5 10:59:33 2019 (r354358)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Nov 5 14:34:59 2019 (r354359)
@@ -7098,7 +7098,6 @@ zfsdev_fini(void)
}
static struct root_hold_token *zfs_root_token;
-struct proc *zfsproc;
#ifdef illumos
int
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Tue Nov 5 10:59:33 2019 (r354358)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Tue Nov 5 14:34:59 2019 (r354359)
@@ -2685,7 +2685,7 @@ zvol_geom_run(zvol_state_t *zv)
pp = zv->zv_provider;
g_error_provider(pp, 0);
- kproc_kthread_add(zvol_geom_worker, zv, &zfsproc, NULL, 0, 0,
+ kproc_kthread_add(zvol_geom_worker, zv, &system_proc, NULL, 0, 0,
"zfskern", "zvol %s", pp->name + sizeof(ZVOL_DRIVER));
}
More information about the svn-src-head
mailing list