]> granicus.if.org Git - zfs/commit
Fix zfsctl_lookup_objset() deadlock
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 10 Dec 2015 23:47:18 +0000 (15:47 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 14 Dec 2015 20:05:52 +0000 (12:05 -0800)
commitf22f900f15c28ebd8b8b764ee6229a7069c74a13
tree314e13364c81a11600228f02b2a68c2dd3b760ed
parent5e94284fe57ba0b3b5825676e3fd498c8b4b8115
Fix zfsctl_lookup_objset() deadlock

The zfsctl_snapshot_unmount_delay() function must not be called
from zfsctl_lookup_objset() while it is currently holding the
zfs_snapshot_lock.  This will result in a deadlock.  It is safe
to call zfsctl_snapshot_unmount_delay_impl() directly because the
function already has a reference on the zfs_snapentry_t.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
Closes #3997
module/zfs/zfs_ctldir.c