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