freebsd-skq/sys
Andriy Gapon 243f5e3085 try to fix lor between z_teardown_lock and spa_namespace_lock
The lock order reversal and a resulting deadlock were introduced
in r285021 / D2865.  The problem is that zfs_register_callbacks() calls
dsl_prop_get_integer() that has to acquire spa_namespace_lock.
At the same time, spa_config_sync() is called with spa_namespace_lock
held and then it performs ZFS vnode operations that acquire
z_teardown_lock in the reader mode.

So, fix the problem by using dsl_prop_get_int_ds() instead of
dsl_prop_get_integer().  The former does not need to look up
the pool and the dataset by name.

Reported by:	many
Reviewed by:	delphij
Tested by:	delphij, Jens Schweikhardt <schweikh@schweikhardt.net>
MFC after:	5 days
X-MFC with:	r285021
2015-08-21 08:17:44 +00:00
..
amd64 Add a kern.features.cloudabi64 entry when the module is loaded to helps the 2015-08-19 15:18:32 +00:00
arm Remove code left over from the armv4 days. On armv4, cache maintenance 2015-08-20 19:39:15 +00:00
arm64 Add the kernel support for minidumps on arm64. 2015-08-20 12:49:56 +00:00
boot The flags -mno-aes -mno-avx only exist for clang, not gcc, so 2015-08-20 18:31:05 +00:00
bsm
cam Revamp camcontrol(8) fwdownload support and add the opcodes subcommand. 2015-08-20 16:07:51 +00:00
cddl try to fix lor between z_teardown_lock and spa_namespace_lock 2015-08-21 08:17:44 +00:00
compat Don't forget to invoke pre_execve() and post_execve(). 2015-08-17 13:07:12 +00:00
conf Allow building a kernel with baked in ig4, isl and cyapa drivers. 2015-08-19 09:49:29 +00:00
contrib Add support for the arrays in nvlist library. 2015-08-15 06:34:49 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
dev Further conversions from ifp->if_softc -> ic_softc. 2015-08-20 05:13:54 +00:00
fs For the case where an NFSv4.1 ExchangeID operation has the client identifier 2015-08-14 22:02:14 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Clean out some externally visible "more then" grammar 2015-08-11 03:12:09 +00:00
gnu Using consistent coding style to deal with error inside the loop. 2015-08-18 13:16:23 +00:00
i386 Better support memory mapped console devices, such as VGA and EFI 2015-08-12 15:26:32 +00:00
isa
kern If process becomes reaper (procctl(PROC_REAP_ACQUIRE)) while already 2015-08-20 22:44:26 +00:00
kgssapi
libkern Remove checks for __ARM_EABI__, we only build for EABI now. 2015-07-09 21:02:40 +00:00
mips Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
modules fix standalone build of zfs module 2015-08-21 08:06:18 +00:00
net * Split allocation and table linking for lle's. 2015-08-20 12:05:17 +00:00
net80211 Revert the wifi ifnet changes until things are more baked and tested. 2015-08-08 01:10:17 +00:00
netgraph * Address review (and add a bit myself). 2015-07-12 18:14:38 +00:00
netinet * Split allocation and table linking for lle's. 2015-08-20 12:05:17 +00:00
netinet6 * Split allocation and table linking for lle's. 2015-08-20 12:05:17 +00:00
netipsec Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
netnatm
netpfil Fix the copy of addresses passed from userland in table replace command. 2015-08-17 23:03:54 +00:00
netsmb
nfs
nfsclient Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
nfsserver
nlm
ofed Reinstate unify_tcp_port_space and associated code that was lost during 2015-08-12 22:09:58 +00:00
opencrypto Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
pc98 Remove unused i386 header privatespace.h. For the native kernel, its 2015-08-07 05:59:58 +00:00
powerpc Add initial boot support for e500mc and e5500. 2015-08-21 02:41:35 +00:00
rpc Set curvnet context inside the RPC code in more places. 2015-08-18 18:12:46 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
sys Bump __FreeBSD_version for the jemalloc 4.0.0 import. 2015-08-18 08:29:13 +00:00
teken Don't truncate cursor arithmetic to 16 bits. 2015-08-21 06:30:13 +00:00
tools
ufs - Make 'struct buf *buf' private to vfs_bio.c. Having a global variable 2015-07-29 02:26:57 +00:00
vm Prevent ticks rollover from preventing vm_lowmem event 2015-08-20 20:28:51 +00:00
x86 Use pmap_quick_enter_page() to handle bouncing of unmapped buffers in the x86 busdma_bounce implementation. Also treat user buffers as unmapped. 2015-08-14 20:08:16 +00:00
xdr
xen Remove another remnant of PV domU support and assume that we always run 2015-08-14 18:38:39 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00