]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r325011, r325016
authorasomers <asomers@FreeBSD.org>
Tue, 28 Nov 2017 16:52:38 +0000 (16:52 +0000)
committerasomers <asomers@FreeBSD.org>
Tue, 28 Nov 2017 16:52:38 +0000 (16:52 +0000)
commitb7b345810f6a98fe614c95438c4cfe57d23b8a3d
tree94861a9ecb514bb7b864abe3c7eea0a1be48e591
parent1f0fdba2a067a1d3ecb412af272950be6662c53d
MFC r325011, r325016

r325011:
zfsd should be able to online an L2ARC that disappears and returns

Previously, this didn't work because L2ARC devices' labels don't contain
pool GUIDs.  Modify zfsd so that the pool GUID won't be required:

lib/libdevdctl/guid.h
Change INVALID_GUID from a uint64_t constant to a function that
returns an invalid Guid object.  Remove the void constructor.
Nothing uses it, and it violates RAII.

cddl/usr.sbin/zfsd/case_file.h
cddl/usr.sbin/zfsd/case_file.cc
Allow CaseFile::Find to match a CaseFile based on Vdev GUID alone.
In CaseFile::ReEvaluate, attempt to online devices even if the newly
arrived device has no pool GUID.

cddl/usr.sbin/zfsd/vdev_iterator.cc
Iterate through a pool's cache devices as well as its regular
devices.

Reported by: avg
Reviewed by: avg
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D12791

r325016:
Partially revert r325011: restore Guid's default constructor

Reported by: ohartmann
X-MFC-With: 325011
Sponsored by: Spectra Logic Corp
cddl/usr.sbin/zfsd/case_file.cc
cddl/usr.sbin/zfsd/case_file.h
cddl/usr.sbin/zfsd/vdev_iterator.cc
lib/libdevdctl/guid.h