freebsd-nq/sys
Alan Somers cbedc01c9a Fix race condition involving ZFS remove events
When a ZFS drive disappears, ZFS sends a resource.fs.zfs.removed event to
userland. A userland program like zfsd(8) can use that event, for example to
activate a hotspare. The current code contains a race condition: vdev_geom
will sent the sysevent _before_ spa.c would update the vdev's status,
causing userland processes to see pool state that does not reflect the
device removal. This change moves the sysevent to spa.c, closing the race.

Reviewed by:	delphij, Sean Eric Fagan
MFC after:	4 weeks
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D4902
2016-01-14 18:19:05 +00:00
..
amd64 Regen after r293907. 2016-01-14 10:15:21 +00:00
arm Fix the spelling of fueword* to eliminate compile warnings about mismatched 2016-01-13 14:39:39 +00:00
arm64 Implement vsyscall hack. Prior to 2.13 glibc uses vsyscall 2016-01-09 20:18:53 +00:00
boot Fix GCC warnings causing build failure after r293724 2016-01-14 09:22:01 +00:00
bsm Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
cam Convert sys/cam to use make_dev_s(). 2016-01-07 20:22:55 +00:00
cddl Fix race condition involving ZFS remove events 2016-01-14 18:19:05 +00:00
compat Call crextend() before copying old credentials to the new credentials 2016-01-14 10:16:25 +00:00
conf sfxge: add accessors for license-related MCDI calls to common code 2016-01-14 09:19:28 +00:00
contrib Convert ipfilter to the new routing KPI. 2016-01-10 07:50:35 +00:00
crypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
ddb Add helper to catch single step debug event and distinguish it from bkpt 2015-11-27 19:03:59 +00:00
dev sfxge: cleanup: quieten efx_mcdi_read_resonse_header error reporting 2016-01-14 09:20:25 +00:00
fs Make devfs_fpdrop() static. It was not a public KPI, and it has no 2016-01-13 14:03:06 +00:00
gdb
geom Make additional parts of sys/geom/eli more usable in userspace 2016-01-07 05:47:34 +00:00
gnu
i386 Regen after r293907. 2016-01-14 10:15:21 +00:00
isa
kern Call crextend() before copying old credentials to the new credentials 2016-01-14 10:16:25 +00:00
kgssapi Unset the gss kernel state when gssd exits 2016-01-01 17:06:16 +00:00
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips Implement vsyscall hack. Prior to 2.13 glibc uses vsyscall 2016-01-09 20:18:53 +00:00
modules sfxge: add accessors for license-related MCDI calls to common code 2016-01-14 09:19:28 +00:00
net Fix panic in IP redirect. Panic was introduced in r293466. 2016-01-14 16:31:00 +00:00
net80211 Remove sys/eventhandler.h from net/route.h 2016-01-09 09:34:39 +00:00
netgraph Make ng_netflow(9) use new routing KPI. 2016-01-14 13:14:12 +00:00
netinet Fail the SCTP_GET_ASSOC_NUMBER and SCTP_GET_ASSOC_ID_LIST 2016-01-14 11:25:28 +00:00
netinet6 Verify the packet length in sctp6_input(). 2016-01-14 10:11:10 +00:00
netipsec Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
netnatm
netpfil Initialize error value ta_lookup_kfib() by default to please compiler. 2016-01-10 08:37:00 +00:00
netsmb The problem report was for a crash that happened when smbfs was 2015-11-18 23:04:01 +00:00
nfs Add kernel support to the NFS server for the "-manage-gids" 2015-11-30 21:54:27 +00:00
nfsclient
nfsserver
nlm
ofed Finish r275196: do not dereference rtentry in if_output() routines. 2016-01-09 16:34:37 +00:00
opencrypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
pc98 Add asynchronous command support to the pass(4) driver, and the new 2015-12-03 20:54:55 +00:00
powerpc Remove dead code and dead comments, most notably the implemenation of the 2016-01-10 18:00:01 +00:00
riscv/include Import RISC-V machine headers. This is a minimal set required to compile 2015-12-17 18:44:30 +00:00
rpc Improve locking of sg_threadcount. 2015-11-19 08:04:05 +00:00
security Move the funsetown(9) call from audit_pipe_close() to cdevpriv 2016-01-13 14:02:07 +00:00
sparc64 Implement vsyscall hack. Prior to 2.13 glibc uses vsyscall 2016-01-09 20:18:53 +00:00
sys Call crextend() before copying old credentials to the new credentials 2016-01-14 10:16:25 +00:00
teken
tests Style 9 changes. 2015-11-12 10:31:14 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs Recheck curthread->td_su after the VFS_SYNC() call, and re-sync if the 2015-12-21 11:50:32 +00:00
vm Fix the domain iterator to not try the first-touch / fixed domain 2016-01-10 17:53:43 +00:00
x86 hyperv: use x86 generic code to do the hypervisor detection 2016-01-14 02:50:13 +00:00
xdr
xen Clean up unused-but-set-variable spotted by gcc-4.9. 2015-12-31 01:54:07 +00:00
Makefile