]> git.proxmox.com Git - mirror_zfs.git/commit
Don't acquire zthr_request_lock in zthr_wakeup
authorSara Hartse <sara.hartse@gmail.com>
Wed, 30 Jan 2019 20:31:16 +0000 (12:31 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 30 Jan 2019 20:31:16 +0000 (12:31 -0800)
commit2747f599ff322ddafbfef79813e63624d04fb7aa
tree2f2141917a4ca76d87634b1e32b50f41ba451909
parent21e7cf5da89f55ce98ec1115726b150e19eefe89
Don't acquire zthr_request_lock in zthr_wakeup

Address a deadlock caused by simultaneous wakeup and cancel on a zthr
by remove the hold of zthr_request_lock from zthr_wakeup. This
allows thr_wakeup to not block a thread that is in the process of
being cancelled.

Reviewed-by: Matt Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Signed-off-by: Sara Hartse <sara.hartse@delphix.com>
Closes #8333
module/zfs/zthr.c