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-all mailing list