Author: avg
Date: Thu Nov 21 13:59:06 2019
New Revision: 354953
URL: https://svnweb.freebsd.org/changeset/base/354953

Log:
  10573 define TASKQID_INVALID as (taskq_id)0
  
  illumos/illumos-gate@fc8ae2ec4282de7ec96f48e11078345f3dc0ac3d
  
https://github.com/illumos/illumos-gate/commit/fc8ae2ec4282de7ec96f48e11078345f3dc0ac3d
  
  https://www.illumos.org/issues/10573
    We do have taskqid_t taskq_dispatch() and the result of this function is
    compared with 0, NULL and combined with type casts. Define TASKQID_INVALID
    (taskq_id)0 and use TASKQID_INVALID everywhere.
  
  Author: Toomas Soome <tso...@me.com>

Modified:
  vendor-sys/illumos/dist/uts/common/fs/vnode.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c
  vendor-sys/illumos/dist/uts/common/sys/taskq.h

Modified: vendor-sys/illumos/dist/uts/common/fs/vnode.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/vnode.c       Thu Nov 21 13:59:01 
2019        (r354952)
+++ vendor-sys/illumos/dist/uts/common/fs/vnode.c       Thu Nov 21 13:59:06 
2019        (r354953)
@@ -915,7 +915,7 @@ vn_rele_async(vnode_t *vp, taskq_t *taskq)
        if (vp->v_count == 1) {
                mutex_exit(&vp->v_lock);
                VERIFY(taskq_dispatch(taskq, (task_func_t *)vn_rele_inactive,
-                   vp, TQ_SLEEP) != NULL);
+                   vp, TQ_SLEEP) != TASKQID_INVALID);
                return;
        }
        VN_RELE_LOCKED(vp);

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c    Thu Nov 21 
13:59:01 2019        (r354952)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c    Thu Nov 21 
13:59:06 2019        (r354953)
@@ -599,8 +599,8 @@ traverse_impl(spa_t *spa, dsl_dataset_t *ds, uint64_t 
        }
 
        if (!(flags & TRAVERSE_PREFETCH_DATA) ||
-           0 == taskq_dispatch(system_taskq, traverse_prefetch_thread,
-           &td, TQ_NOQUEUE))
+           taskq_dispatch(system_taskq, traverse_prefetch_thread,
+           &td, TQ_NOQUEUE) == TASKQID_INVALID)
                pd.pd_exited = B_TRUE;
 
        SET_BOOKMARK(&czb, td.td_objset,

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c        Thu Nov 21 
13:59:01 2019        (r354952)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c        Thu Nov 21 
13:59:06 2019        (r354953)
@@ -2511,7 +2511,7 @@ metaslab_group_preload(metaslab_group_t *mg)
                }
 
                VERIFY(taskq_dispatch(mg->mg_taskq, metaslab_preload,
-                   msp, TQ_SLEEP) != NULL);
+                   msp, TQ_SLEEP) != TASKQID_INVALID);
        }
        mutex_exit(&mg->mg_lock);
 }

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c    Thu Nov 21 13:59:01 
2019        (r354952)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c    Thu Nov 21 13:59:06 
2019        (r354953)
@@ -1489,7 +1489,7 @@ vdev_open_children(vdev_t *vd)
 
        for (int c = 0; c < children; c++)
                VERIFY(taskq_dispatch(tq, vdev_open_child, vd->vdev_child[c],
-                   TQ_SLEEP) != NULL);
+                   TQ_SLEEP) != TASKQID_INVALID);
 
        taskq_destroy(tq);
 }

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c       Thu Nov 21 
13:59:01 2019        (r354952)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c       Thu Nov 21 
13:59:06 2019        (r354953)
@@ -245,7 +245,7 @@ vdev_file_io_start(zio_t *zio)
        bp->b_iodone = vdev_file_io_intr;
 
        VERIFY3U(taskq_dispatch(system_taskq, vdev_file_io_strategy, bp,
-           TQ_SLEEP), !=, 0);
+           TQ_SLEEP), !=, TASKQID_INVALID);
 }
 
 /* ARGSUSED */

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c     Thu Nov 21 13:59:01 
2019        (r354952)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c     Thu Nov 21 13:59:06 
2019        (r354953)
@@ -1891,7 +1891,8 @@ zil_clean(zilog_t *zilog, uint64_t synced_txg)
        ASSERT3P(zilog->zl_dmu_pool, !=, NULL);
        ASSERT3P(zilog->zl_dmu_pool->dp_zil_clean_taskq, !=, NULL);
        if (taskq_dispatch(zilog->zl_dmu_pool->dp_zil_clean_taskq,
-           (void (*)(void *))zil_itxg_clean, clean_me, TQ_NOSLEEP) == NULL)
+           (void (*)(void *))zil_itxg_clean, clean_me, TQ_NOSLEEP) ==
+           TASKQID_INVALID)
                zil_itxg_clean(clean_me);
 }
 

Modified: vendor-sys/illumos/dist/uts/common/sys/taskq.h
==============================================================================
--- vendor-sys/illumos/dist/uts/common/sys/taskq.h      Thu Nov 21 13:59:01 
2019        (r354952)
+++ vendor-sys/illumos/dist/uts/common/sys/taskq.h      Thu Nov 21 13:59:06 
2019        (r354953)
@@ -60,6 +60,8 @@ struct proc;
 #define        TQ_NOALLOC      0x04    /* cannot allocate memory; may fail */
 #define        TQ_FRONT        0x08    /* Put task at the front of the queue */
 
+#define        TASKQID_INVALID ((taskqid_t)0)
+
 #ifdef _KERNEL
 
 extern taskq_t *system_taskq;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to