diff options
author | Alexander <solbjorn@users.noreply.github.com> | 2021-07-20 14:03:33 +0000 |
---|---|---|
committer | Tony Hutter <hutter2@llnl.gov> | 2021-09-14 19:39:48 +0000 |
commit | 4affa09f3e6c4c17de8ac187d82071bb39ca57b1 (patch) | |
tree | 5c4f183e170463eafc11a56de6e9eb1fc86a2296 /module/zfs/zil.c | |
parent | 0ca95585616765154a1d9a9d61f965a16a1feaa6 (diff) | |
download | src-4affa09f3e6c4c17de8ac187d82071bb39ca57b1.tar.gz src-4affa09f3e6c4c17de8ac187d82071bb39ca57b1.zip |
A few fixes of callback typecasting (for the upcoming ClangCFI)
* zio: avoid callback typecasting
* zil: avoid zil_itxg_clean() callback typecasting
* zpl: decouple zpl_readpage() into two separate callbacks
* nvpair: explicitly declare callbacks for xdr_array()
* linux/zfs_nvops: don't use external iput() as a callback
* zcp_synctask: don't use fnvlist_free() as a callback
* zvol: don't use ops->zv_free() as a callback for taskq_dispatch()
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Mark Maybee <mark.maybee@delphix.com>
Signed-off-by: Alexander Lobakin <alobakin@pm.me>
Closes #12260
Diffstat (limited to 'module/zfs/zil.c')
-rw-r--r-- | module/zfs/zil.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/module/zfs/zil.c b/module/zfs/zil.c index 78d0711cce4e..d8d39f861c75 100644 --- a/module/zfs/zil.c +++ b/module/zfs/zil.c @@ -1822,12 +1822,13 @@ zil_itx_destroy(itx_t *itx) * so no locks are needed. */ static void -zil_itxg_clean(itxs_t *itxs) +zil_itxg_clean(void *arg) { itx_t *itx; list_t *list; avl_tree_t *t; void *cookie; + itxs_t *itxs = arg; itx_async_node_t *ian; list = &itxs->i_sync_list; @@ -2047,7 +2048,7 @@ 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); taskqid_t id = taskq_dispatch(zilog->zl_dmu_pool->dp_zil_clean_taskq, - (void (*)(void *))zil_itxg_clean, clean_me, TQ_NOSLEEP); + zil_itxg_clean, clean_me, TQ_NOSLEEP); if (id == TASKQID_INVALID) zil_itxg_clean(clean_me); } |