freebsd-dev/sys
Alexander Motin f106f43aa2 Matching GUIDs, handle possible race on vdev detach.
In case of vdev detach, causing top level mirror vdev destruction, leaf
vdev changes its GUID to one of the destroyed mirror, that creates race
condition when GUID in vdev label may not match one in the pool config.

This change replicates logic nuance of vdev_validate() by adding special
exception, matching the vdev GUID against the top level vdev GUID.
Since this exception is not completely reliable (may give false positives
if we fail to erase label on detached vdev), use it only as last resort.

Quick way to reproduce this scenario now is detach vdev from a pool with
enabled autoextend.  During vdev detach autoextend logic tries to reopen
remaining vdev, that always fails now since in-memory configuration is
already updated, while on-disk labels are not yet.

MFC after:	2 weeks
2016-10-28 16:21:31 +00:00
..
amd64 fix a syntax error in r308039 ... 2016-10-28 15:57:55 +00:00
arm Add support for Allwinner Consumer IR interface. 2016-10-27 04:26:33 +00:00
arm64 Pull the common FDT interrupt values into a new header rather than be magic 2016-10-26 15:18:08 +00:00
boot LIBSTAND goes last, so put it last here too. 2016-10-26 05:26:59 +00:00
bsm
cam Make pass driver better support CAM_CDB_POINTER flag. 2016-10-17 15:02:17 +00:00
cddl Matching GUIDs, handle possible race on vdev detach. 2016-10-28 16:21:31 +00:00
compat Tidy up ia32_sysvec sv_flags setting 2016-10-20 20:29:54 +00:00
conf hyperv/hn: Rename cleaned up NVS source file. 2016-10-28 07:48:17 +00:00
contrib krping: Allow the underlying ib_device to handle DMA mappings. 2016-10-24 20:53:44 +00:00
crypto Fix C++ includability of crypto headers with static array sizes 2016-10-18 23:20:49 +00:00
ddb Determine the operand/address size of %cs in a new function 2016-09-25 16:30:29 +00:00
dev The buffer address is always overwritten in the extended descriptor format, 2016-10-28 13:37:58 +00:00
fs Use buffer pager for cd9660. 2016-10-28 11:46:39 +00:00
gdb
geom gmirror: Add a subroutine to free synchronization BIOs. 2016-10-20 23:08:40 +00:00
gnu Revert and redo r306083. 2016-09-22 15:17:36 +00:00
i386 Handle pmap_enter() over an existing 4/2M page in KVA on i386. 2016-10-28 11:53:22 +00:00
isa
kern Generalize UFS buffer pager to allow it serving other filesystems 2016-10-28 11:43:59 +00:00
kgssapi
libkern
mips Correct definition of 'struct sigcontext' on MIPS. 2016-10-26 17:37:08 +00:00
modules hyperv/hn: Rename cleaned up NVS source file. 2016-10-28 07:48:17 +00:00
net Various fixes for ptnet/ptnetmap (passthrough of netmap ports). In detail: 2016-10-27 09:46:22 +00:00
net80211 [net80211] add comments! 2016-10-28 02:10:07 +00:00
netgraph Avoid panic from ng_uncallout when unpluggin ethernet cable with active 2016-08-08 19:31:01 +00:00
netinet Remove an extraneous call to soisconnected() in syncache_socket(), 2016-10-26 15:19:18 +00:00
netinet6 Make ICMPv6 hard error handling for TCP consistent with the ICMPv4 2016-10-21 10:32:57 +00:00
netipsec Remove the 4.3BSD compatible macro m_copy(), use m_copym() instead. 2016-09-15 07:41:48 +00:00
netnatm
netpfil Fix ipfw table lookup handler to return entry value, but not its index. 2016-10-19 11:51:17 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 2016-09-30 08:23:06 +00:00
opencrypto Add support for the fpu_kern(9) KPI on arm64. It hooks into the existing 2016-10-20 09:22:10 +00:00
pc98 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
powerpc Add a bunch of new default options to MPC85XX* configs 2016-10-24 04:21:06 +00:00
riscv rtwn(4), urtwn(4): merge common code, add support for 11ac devices. 2016-10-17 20:38:24 +00:00
rpc
security Don't check aq64_minfree which is unsigned for negative values. 2016-09-08 19:47:57 +00:00
sparc64 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
sys Generalize UFS buffer pager to allow it serving other filesystems 2016-10-28 11:43:59 +00:00
teken
tests
tools Consider CROSS_BINUTILS_PREFIX environment variable so we use correct 2016-08-10 13:49:17 +00:00
ufs Generalize UFS buffer pager to allow it serving other filesystems 2016-10-28 11:43:59 +00:00
vm Simplify keg_drain() a bit by using LIST_FOREACH_SAFE. 2016-10-20 23:10:27 +00:00
x86 Use correct cpu id in the banner. Fix style. 2016-10-28 12:27:05 +00:00
xdr
xen xen/vchan: change license of header from Lesser GPL v2.1 to BSD 2016-09-30 13:41:24 +00:00
Makefile