diff options
author | Ryan Moeller <freqlabs@FreeBSD.org> | 2021-07-06 16:00:18 +0000 |
---|---|---|
committer | Ryan Moeller <freqlabs@FreeBSD.org> | 2021-07-13 15:44:32 +0000 |
commit | d5a71c929dfaab37bf7a8a9278d8cf1e8dfaa4ef (patch) | |
tree | 0c908b3c4227a02ea51edef382d09db5972c3615 /cddl | |
parent | a469b89bf206731430f26e975d120c4485b71e23 (diff) | |
download | src-d5a71c929dfaab37bf7a8a9278d8cf1e8dfaa4ef.tar.gz src-d5a71c929dfaab37bf7a8a9278d8cf1e8dfaa4ef.zip |
zfsd: Check for error from zpool_vdev_online
Onlining a vdev can fail. Log the error if it does.
Reviewed by: mav, asomers
MFC after: 1 week
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D30882
(cherry picked from commit 53b438b2425c374f6147ac80b3330a9ec08432bb)
Diffstat (limited to 'cddl')
-rw-r--r-- | cddl/usr.sbin/zfsd/case_file.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/cddl/usr.sbin/zfsd/case_file.cc b/cddl/usr.sbin/zfsd/case_file.cc index da2125b4d716..8da711fc10cb 100644 --- a/cddl/usr.sbin/zfsd/case_file.cc +++ b/cddl/usr.sbin/zfsd/case_file.cc @@ -280,9 +280,17 @@ CaseFile::ReEvaluate(const string &devPath, const string &physPath, Vdev *vdev) || vdev->PoolGUID() == Guid::InvalidGuid()) && vdev->GUID() == m_vdevGUID) { - zpool_vdev_online(pool, vdev->GUIDString().c_str(), - ZFS_ONLINE_CHECKREMOVE | ZFS_ONLINE_UNSPARE, - &m_vdevState); + if (zpool_vdev_online(pool, vdev->GUIDString().c_str(), + ZFS_ONLINE_CHECKREMOVE | ZFS_ONLINE_UNSPARE, + &m_vdevState) != 0) { + syslog(LOG_ERR, + "Failed to online vdev(%s/%s:%s): %s: %s\n", + zpool_get_name(pool), vdev->GUIDString().c_str(), + devPath.c_str(), libzfs_error_action(g_zfsHandle), + libzfs_error_description(g_zfsHandle)); + return (/*consumed*/false); + } + syslog(LOG_INFO, "Onlined vdev(%s/%s:%s). State now %s.\n", zpool_get_name(pool), vdev->GUIDString().c_str(), devPath.c_str(), |