Skip to content

Commit

Permalink
move devd rules for zfs events into a separate file and fix stale eve…
Browse files Browse the repository at this point in the history
…nt types

Also, extend with some new events.
Additionally, tag syslog messages with 'ZFS' instead of using explicit "ZFS: "
prefix in the messages themselves.

Tested by:	Daniel O'Connor <[email protected]>
MFC after:	8 days
Sponsored by:	HybridCluster
  • Loading branch information
avg-I committed Feb 14, 2014
1 parent 3cb7f19 commit 9872b56
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 32 deletions.
31 changes: 0 additions & 31 deletions etc/devd.conf
Original file line number Diff line number Diff line change
Expand Up @@ -246,37 +246,6 @@ notify 10 {
action "logger -p kern.emerg 'WARNING: system temperature too high, shutting down soon!'";
};

# Sample ZFS problem reports handling.
notify 10 {
match "system" "ZFS";
match "type" "zpool";
action "logger -p kern.err 'ZFS: failed to load zpool $pool'";
};

notify 10 {
match "system" "ZFS";
match "type" "vdev";
action "logger -p kern.err 'ZFS: vdev failure, zpool=$pool type=$type'";
};

notify 10 {
match "system" "ZFS";
match "type" "data";
action "logger -p kern.warn 'ZFS: zpool I/O failure, zpool=$pool error=$zio_err'";
};

notify 10 {
match "system" "ZFS";
match "type" "io";
action "logger -p kern.warn 'ZFS: vdev I/O failure, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size error=$zio_err'";
};

notify 10 {
match "system" "ZFS";
match "type" "checksum";
action "logger -p kern.warn 'ZFS: checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'";
};

# User requested suspend, so perform preparation steps and then execute
# the actual suspend process.
notify 10 {
Expand Down
2 changes: 1 addition & 1 deletion etc/devd/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# $FreeBSD$

FILES= uath.conf usb.conf
FILES= uath.conf usb.conf zfs.conf

.if ${MACHINE} == "powerpc"
FILES+= apple.conf
Expand Down
77 changes: 77 additions & 0 deletions etc/devd/zfs.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# $FreeBSD$
#
# Sample ZFS problem reports handling.

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.checksum";
action "logger -p kern.warn -t ZFS 'checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.io";
action "logger -p kern.warn -t ZFS 'vdev I/O failure, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size error=$zio_err'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.data";
action "logger -p kern.warn -t ZFS 'pool I/O failure, zpool=$pool error=$zio_err'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.zpool";
action "logger -p kern.err -t ZFS 'failed to load zpool $pool'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.vdev\..*";
action "logger -p kern.err -t ZFS 'vdev problem, zpool=$pool path=$vdev_path type=$type'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.io_failure";
action "logger -p kern.alert -t ZFS 'catastrophic pool I/O failure, zpool=$pool'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.probe_failure";
action "logger -p kern.err -t ZFS 'vdev probe failure, zpool=$pool path=$vdev_path'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.log_replay";
action "logger -p kern.err -t ZFS 'pool log replay failure, zpool=$pool'";
};

notify 10 {
match "system" "ZFS";
match "type" "fs.zfs.config_cache_write";
action "logger -p kern.warn -t ZFS 'failed to write zpool.cache, zpool=$pool'";
};


notify 10 {
match "system" "ZFS";
match "type" "resource.fs.zfs.removed";
action "logger -p kern.notice -t ZFS 'vdev is removed, pool_guid=$pool_guid vdev_guid=$vdev_guid'";
};

notify 10 {
match "system" "ZFS";
match "type" "resource.fs.zfs.autoreplace";
action "logger -p kern.info -t ZFS 'autoreplace is configured for vdev, pool_guid=$pool_guid vdev_guid=$vdev_guid'";
};

notify 10 {
match "system" "ZFS";
match "type" "resource.fs.zfs.statechange";
action "logger -p kern.notice -t ZFS 'vdev state changed, pool_guid=$pool_guid vdev_guid=$vdev_guid'";
};

0 comments on commit 9872b56

Please sign in to comment.