summaryrefslogtreecommitdiff
path: root/lib/libdevdctl
AgeCommit message (Collapse)Author
2024-07-15Remove residual blank line at start of MakefileWarner Losh
This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
2023-12-27libdevdctl: Fix typo (triple S)Jose Luis Duran
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/955
2023-08-16Remove $FreeBSD$: one-line sh patternWarner Losh
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-08-16Remove $FreeBSD$: one-line .c patternWarner Losh
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2023-08-16Remove $FreeBSD$: two-line .h patternWarner Losh
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
2022-12-04libdevdctl: update deprecated deprecation warning commentEd Maste
The comment indicated -Wno-deprecated-declarations was used to avoid warnings about deprecated auto_ptr and various deprecated function objects from <functional>. libdevdctl (now) does not use auto_ptr, so don't mention it in the comment. Sponsored by: The FreeBSD Foundation
2021-04-13Fix race in case of device destruction.Alexander Motin
During device destruction it is possible that open() succeed, but fdevname() return NULL, that can't be assigned to string variable. Fix that by adding explicit NULL check. Also while there switch from fdevname() to fdevname_r(). Sponsored by: iXsystems, Inc. MFC after: 2 weeks
2020-06-23libdevdctl: Force full match of "timestamp" field nameRyan Moeller
OpenZFS generates events with a "zio_timestamp" field, which gets mistaken for "timestamp" by libdevdctl due to imprecise string matching. Then later it is assumed a "timestamp" field exists when it doesn't and an exception is thrown. Add a space to the search string so we match exactly "timestamp" rather than anything with that as a suffix. Approved by: mav (mentor) MFC after: 3 days Sponsored by: iXsystems, Inc. Notes: svn path=/head/; revision=362544
2019-12-21libdevdctl: g++9 avoid Wdeprecated-copyRyan Libby
g++9 now warns about having defined an assignment operator but using the default copy constructor, or vice versa. Avoid the issue in libdevdctl by just using the default assignment operator too. Reviewed by: asomers, dim Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D22887 Notes: svn path=/head/; revision=355974
2019-12-11Update Makefile.depend filesSimon J. Gerraty
Update a bunch of Makefile.depend files as a result of adding Makefile.depend.options files Reviewed by: bdrewery MFC after: 1 week Sponsored by: Juniper Networks Differential Revision: https://reviews.freebsd.org/D22494 Notes: svn path=/head/; revision=355617
2019-09-17Another round of attempting to squelch -Wdeprecated-declarations, whichDimitry Andric
has become very trigger-happy with libc++ 9.0.0. It does not help that gcc's implementation of this warning is even more trigger-happy, in the sense that it already warns on the declaration itself, not when you are using it. This is very annoying with our use of -Wsystem-headers. That should really be disabled for gcc. Notes: svn path=/projects/clang900-import/; revision=352435
2019-09-14Instead of disabling gcc's deprecated declaration warnings about e.g.Dimitry Andric
std::auto_ptr in a whole bunch of individual Makefiles, make the warning globally non-fatal instead. This is similar to what was done to many more non-fatal warnings from newer gcc versions. Notes: svn path=/projects/clang900-import/; revision=352335
2019-09-09Silence gcc warnings in libdevdctl about deprecated std::auto_ptr, andDimitry Andric
various function objects from <functional>. Notes: svn path=/projects/clang900-import/; revision=352104
2018-02-14zfsd: Allow zfsd to work on any type of GEOM providerAlan Somers
cddl/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 weeks Relnotes: Yes (probably worth mentioning the geli part) Sponsored by: Spectra Logic Corp Notes: svn path=/head/; revision=329284
2017-10-31DIRDEPS_BUILD: Update dependencies.Bryan Drewery
Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
2017-10-26Partially revert r325011: restore Guid's default constructorAlan Somers
Reported by: ohartmann MFC after: 3 weeks X-MFC-With: 325011 Sponsored by: Spectra Logic Corp Notes: svn path=/head/; revision=325016
2017-10-26zfsd should be able to online an L2ARC that disappears and returnsAlan Somers
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 MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D12791 Notes: svn path=/head/; revision=325011
2017-01-20Use .CURDIR:H instead of .CURDIR to simplify pathing in output, etcEnji Cooper
MFC after: 3 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=312512
2016-10-15directly create the socket with SOCK_NONBLOCK instead of calling fcntl(2)Baptiste Daroussin
Notes: svn path=/head/; revision=307364
2016-06-03DIRDEPS_BUILD: Connect new directories and update dependencies.Bryan Drewery
Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=301283
2016-05-31Coverity fixes for r300906Alan Somers
lib/libdevdctl/consumer.cc In Consumer::DisconnectFromDevd, don't close the socket if it's already closed. cddl/usr.sbin/zfsd/case_file.cc lib/libdevdctl/consumer.h Delete dead code leftover from before devd(8) gained SOCK_SEQPACKET support Reported by: Coverity CID: 1356155, 1356169 Sponsored by: Spectra Logic Corp Notes: svn path=/head/; revision=301087
2016-05-30libdevdctl: minor spelling fixes.Pedro F. Giffuni
Notes: svn path=/head/; revision=301001
2016-05-28Avoid literal-suffix error due to missing space.Bryan Drewery
Notes: svn path=/head/; revision=300915
2016-05-28zfsd(8), the ZFS fault management daemonAlan Somers
Add zfsd, which deals with hard drive faults in ZFS pools. It manages hotspares and replements in drive slots that publish physical paths. cddl/usr.sbin/zfsd Add zfsd(8) and its unit tests cddl/usr.sbin/Makefile Add zfsd to the build lib/libdevdctl A C++ library that helps devd clients process events lib/Makefile share/mk/bsd.libnames.mk share/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 NO etc/mtree/BSD.include.dist Add a directory for libdevdctl's include files etc/mtree/BSD.tests.dist Add a directory for zfsd's unit tests etc/mtree/BSD.var.dist Add /var/db/zfsd/cases, where zfsd stores case files while it's shut down. etc/rc.d/Makefile etc/rc.d/zfsd Add zfsd's rc script sys/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, allanjude Reviewed by: mav, delphij Relnotes: yes Sponsored by: Spectra Logic Corp, iX Systems Differential Revision: https://reviews.freebsd.org/D6564 Notes: svn path=/head/; revision=300906