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));
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to