svn commit: r354953 - in vendor-sys/illumos/dist/uts/common: fs fs/zfs sys

Andriy Gapon avg at FreeBSD.org
Thu Nov 21 13:59:08 UTC 2019


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 at 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 <tsoome at 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;


More information about the svn-src-all mailing list