History log of /freebsd-head/lib/libdevdctl/event.cc
Revision Date Author Comments
81891e1018235bb776dd301cc7317d543420f110 14-Feb-2018 asomers <asomers@FreeBSD.org> zfsd: Allow zfsd to work on any type of GEOM provider

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.

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
5de1668707959e58e11aad6c4f900e6562ad363d 28-May-2016 bdrewery <bdrewery@FreeBSD.org> Avoid literal-suffix error due to missing space.
442baa51845cf38dbcfdc44bd8493defdaad630a 28-May-2016 asomers <asomers@FreeBSD.org> zfsd(8), the ZFS fault management daemon

Add zfsd, which deals with hard drive faults in ZFS pools. It manages
hotspares and replements in drive slots that publish physical paths.

Add zfsd(8) and its unit tests

Add zfsd to the build

A C++ library that helps devd clients process events

Add libdevdctl to the build. It's a private library, unusable by
out-of-tree software.

By default, set zfsd_enable to NO

Add a directory for libdevdctl's include files

Add a directory for zfsd's unit tests

Add /var/db/zfsd/cases, where zfsd stores case files while it's shut

Add zfsd's rc script

Fix the resource.fs.zfs.statechange message. It had a number of

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

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