Skip to content

Commit 83fa051

Browse files
authored
spl_vfs: fix vrele task runner signature mismatch
Reviewed-by: Alexander Motin <[email protected]> Signed-off-by: SHENGYI HONG <[email protected]> Closes #17101
1 parent d033f26 commit 83fa051

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

module/os/freebsd/spl/spl_vfs.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,12 @@ mount_snapshot(kthread_t *td, vnode_t **vpp, const char *fstype, char *fspath,
257257
return (0);
258258
}
259259

260+
static void
261+
vrele_task_runner(void *vp)
262+
{
263+
vrele((vnode_t *)vp);
264+
}
265+
260266
/*
261267
* Like vn_rele() except if we are going to call VOP_INACTIVE() then do it
262268
* asynchronously using a taskq. This can avoid deadlocks caused by re-entering
@@ -273,6 +279,6 @@ vn_rele_async(vnode_t *vp, taskq_t *taskq)
273279
VERIFY3U(vp->v_usecount, >, 0);
274280
if (refcount_release_if_not_last(&vp->v_usecount))
275281
return;
276-
VERIFY3U(taskq_dispatch((taskq_t *)taskq,
277-
(task_func_t *)vrele, vp, TQ_SLEEP), !=, 0);
282+
VERIFY3U(taskq_dispatch((taskq_t *)taskq, vrele_task_runner, vp,
283+
TQ_SLEEP), !=, 0);
278284
}

0 commit comments

Comments
 (0)