Date: Tue, 29 Nov 2011 19:47:11 +0000 (UTC) From: Xin LI <delphij@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r228144 - projects/zfsd/head/cddl/sbin/zfsd Message-ID: <201111291947.pATJlBWC064172@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: delphij Date: Tue Nov 29 19:47:11 2011 New Revision: 228144 URL: http://svn.freebsd.org/changeset/base/228144 Log: Handle ZfsdException while parsing the pool and give more meaningful log instead of stopping and start over in the main loop. Modified: projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc Modified: projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc ============================================================================== --- projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc Tue Nov 29 19:46:17 2011 (r228143) +++ projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc Tue Nov 29 19:47:11 2011 (r228144) @@ -455,9 +455,18 @@ DevfsEvent::ReadLabel(int devFd, bool &i || devLabel == NULL) return (NULL); - Vdev vdev(devLabel); - degraded = vdev.State() != VDEV_STATE_HEALTHY; - return (devLabel); + try { + Vdev vdev(devLabel); + degraded = vdev.State() != VDEV_STATE_HEALTHY; + return (devLabel); + } catch (ZfsdException &exp) { + string devName = fdevname(devFd); + string devPath = _PATH_DEV + devName; + string context("DevfsEvent::ReadLabel: " + devPath + ": "); + + exp.GetString().insert(0, context); + exp.Log(); + } } return (NULL); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111291947.pATJlBWC064172>