zfsd: Allow zfsd to work on any type of GEOM providercddl/usr.sbin/zfsd/zfsd_event.cc Remove the check for da and ada devices. This way zfsd can work on md, geli, glabel, gstripe, etc devices.
zfsd: Allow zfsd to work on any type of GEOM providercddl/usr.sbin/zfsd/zfsd_event.cc Remove the check for da and ada devices. This way zfsd can work on md, geli, glabel, gstripe, etc devices. geli in particular is useful combined with ZFS. gnop is also useful for simulating drive pulls in the ZFSD test suite. Also, eliminate the DevfsEvent class entirely. Move its responsibilities into GeomEvent. We can get everything we need to know just from listening to GEOM events.lib/libdevdctl/event.cc Fix GeomEvent::DevName for CREATE events. Oddly, the relevant field is named "cdev" for CREATE events but "devname" for disk events.MFC after: 3 weeksRelnotes: Yes (probably worth mentioning the geli part)Sponsored by: Spectra Logic Corp
show more ...
DIRDEPS_BUILD: Update dependencies.Sponsored by: Dell EMC Isilon
Partially revert r325011: restore Guid's default constructorReported by: ohartmannMFC after: 3 weeksX-MFC-With: 325011Sponsored by: Spectra Logic Corp
zfsd should be able to online an L2ARC that disappears and returnsPreviously, this didn't work because L2ARC devices' labels don't containpool GUIDs. Modify zfsd so that the pool GUID won't be re
zfsd should be able to online an L2ARC that disappears and returnsPreviously, this didn't work because L2ARC devices' labels don't containpool 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.hcddl/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: avgReviewed by: avgMFC after: 3 weeksSponsored by: Spectra Logic CorpDifferential Revision: https://reviews.freebsd.org/D12791
Use .CURDIR:H instead of .CURDIR to simplify pathing in output, etcMFC after: 3 weeksSponsored by: Dell EMC Isilon
directly create the socket with SOCK_NONBLOCK instead of calling fcntl(2)
DIRDEPS_BUILD: Connect new directories and update dependencies.Sponsored by: EMC / Isilon Storage Division
Coverity fixes for r300906lib/libdevdctl/consumer.cc In Consumer::DisconnectFromDevd, don't close the socket if it's already closed.cddl/usr.sbin/zfsd/case_file.cclib/libdevdctl/consumer.h De
Coverity fixes for r300906lib/libdevdctl/consumer.cc In Consumer::DisconnectFromDevd, don't close the socket if it's already closed.cddl/usr.sbin/zfsd/case_file.cclib/libdevdctl/consumer.h Delete dead code leftover from before devd(8) gained SOCK_SEQPACKET supportReported by: CoverityCID: 1356155, 1356169Sponsored by: Spectra Logic Corp
libdevdctl: minor spelling fixes.
Avoid literal-suffix error due to missing space.
zfsd(8), the ZFS fault management daemonAdd zfsd, which deals with hard drive faults in ZFS pools. It manageshotspares and replements in drive slots that publish physical paths.cddl/usr.sbin/zfs
zfsd(8), the ZFS fault management daemonAdd zfsd, which deals with hard drive faults in ZFS pools. It manageshotspares and replements in drive slots that publish physical paths.cddl/usr.sbin/zfsd Add zfsd(8) and its unit testscddl/usr.sbin/Makefile Add zfsd to the buildlib/libdevdctl A C++ library that helps devd clients process eventslib/Makefileshare/mk/bsd.libnames.mkshare/mk/src.libnames.mk Add libdevdctl to the build. It's a private library, unusable by out-of-tree software.etc/defaults/rc.conf By default, set zfsd_enable to NOetc/mtree/BSD.include.dist Add a directory for libdevdctl's include filesetc/mtree/BSD.tests.dist Add a directory for zfsd's unit testsetc/mtree/BSD.var.dist Add /var/db/zfsd/cases, where zfsd stores case files while it's shut down.etc/rc.d/Makefileetc/rc.d/zfsd Add zfsd's rc scriptsys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Fix the resource.fs.zfs.statechange message. It had a number of problems: It was only being emitted on a transition to the HEALTHY state. That made it impossible for zfsd to take actions based on drives getting sicker. It compared the new state to vdev_prevstate, which is the state that the vdev had the last time it was opened. That doesn't make sense, because a vdev can change state multiple times without being reopened. vdev_set_state contains logic that will change the device's new state based on various conditions. However, the statechange event was being posted _before_ that logic took effect. Now it's being posted after.Submitted by: gibbs, asomers, mav, allanjudeReviewed by: mav, delphijRelnotes: yesSponsored by: Spectra Logic Corp, iX SystemsDifferential Revision: https://reviews.freebsd.org/D6564