svn commit: r256457 - projects/zfsd/head/cddl/sbin/zfsd
Alan Somers
asomers at FreeBSD.org
Mon Oct 14 21:21:08 UTC 2013
Author: asomers
Date: Mon Oct 14 21:21:05 2013
New Revision: 256457
URL: http://svnweb.freebsd.org/changeset/base/256457
Log:
Style, comment, and warning message improvements to zfsd.
* zfsd.h
Clarified member documentation
* zfsd.cc
Clarified warning message
* case_file.cc
Omits a space before the { of a control block
* vdev_iterator.cc
* zfsd.cc
Return statements must enclose their values in parenthesis
* dev_ctl_event.cc:
Omit a space after flow control keywords
* case_file.cc:
* vdev_iterator.cc
* zfsd.cc
* case_file.h
* dev_ctl_event.h
* guid.h
* zfsd_exception.h
* zpool_list.h
* dev_ctl_event.cc
Trailing whitespace
* zfsd.cc
* zpool_list.cc
Braces around a single line statement following a control block
Submitted by: alans
Approved by: ken (mentor)
Sponsored by: Spectra Logic Corporation
Modified:
projects/zfsd/head/cddl/sbin/zfsd/case_file.cc
projects/zfsd/head/cddl/sbin/zfsd/case_file.h
projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc
projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.h
projects/zfsd/head/cddl/sbin/zfsd/guid.h
projects/zfsd/head/cddl/sbin/zfsd/vdev_iterator.cc
projects/zfsd/head/cddl/sbin/zfsd/zfsd.cc
projects/zfsd/head/cddl/sbin/zfsd/zfsd.h
projects/zfsd/head/cddl/sbin/zfsd/zfsd_exception.h
projects/zfsd/head/cddl/sbin/zfsd/zpool_list.cc
projects/zfsd/head/cddl/sbin/zfsd/zpool_list.h
Modified: projects/zfsd/head/cddl/sbin/zfsd/case_file.cc
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/case_file.cc Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/case_file.cc Mon Oct 14 21:21:05 2013 (r256457)
@@ -202,7 +202,7 @@ CaseFile::ReEvaluate(const string &devPa
*/
syslog(LOG_INFO,
"CaseFile::ReEvaluate(%s,%s) Pool/Vdev unconfigured. "
- "Closing\n",
+ "Closing\n",
PoolGUIDString().c_str(),
VdevGUIDString().c_str());
Close();
@@ -308,7 +308,7 @@ CaseFile::ReEvaluate(const ZfsEvent &eve
*/
syslog(LOG_INFO,
"CaseFile::ReEvaluate(%s,%s) Pool/Vdev unconfigured. "
- "Closing\n",
+ "Closing\n",
PoolGUIDString().c_str(),
VdevGUIDString().c_str());
Close();
@@ -349,7 +349,7 @@ CaseFile::ReEvaluate(const ZfsEvent &eve
*/
ZfsDaemon::RequestSystemRescan();
- /*
+ /*
* Consume the event if we successfully activated a spare.
* Otherwise, leave it in the unconsumed events list so that the
* future addition of a spare to this pool might be able to
@@ -394,7 +394,8 @@ CaseFile::ActivateSpare() {
"config for pool %s", poolname);
return (false);
}
- if (nvlist_lookup_nvlist(config, ZPOOL_CONFIG_VDEV_TREE, &nvroot) != 0){
+ error = nvlist_lookup_nvlist(config, ZPOOL_CONFIG_VDEV_TREE, &nvroot);
+ if (error != 0){
syslog(LOG_ERR, "CaseFile::ActivateSpare: Could not find vdev "
"tree for pool %s", poolname);
return (false);
@@ -453,7 +454,7 @@ CaseFile::ActivateSpare() {
void
CaseFile::RegisterCallout(const DevCtlEvent &event)
-{
+{
timeval now, countdown, elapsed, timestamp, zero, remaining;
gettimeofday(&now, 0);
@@ -484,7 +485,7 @@ CaseFile::CloseIfSolved()
if (m_events.empty()
&& m_tentativeEvents.empty()) {
- /*
+ /*
* We currently do not track or take actions on
* devices in the degraded or faulted state.
* Once we have support for spare pools, we'll
@@ -774,7 +775,7 @@ CaseFile::Close()
syslog(LOG_INFO, "CaseFile(%s,%s) closed - State %s\n",
PoolGUIDString().c_str(), VdevGUIDString().c_str(),
zpool_state_to_name(VdevState(), VDEV_AUX_NONE));
-
+
/*
* Serialization of a Case with no event data, clears the
* Serialization data for that event.
@@ -809,7 +810,7 @@ CaseFile::OnGracePeriodEnded()
VDEV_AUX_ERR_EXCEEDED) == 0) {
syslog(LOG_INFO, "Degrading vdev(%s/%s)",
PoolGUIDString().c_str(),
- VdevGUIDString().c_str());
+ VdevGUIDString().c_str());
Close();
return;
}
Modified: projects/zfsd/head/cddl/sbin/zfsd/case_file.h
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/case_file.h Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/case_file.h Mon Oct 14 21:21:05 2013 (r256457)
@@ -154,7 +154,7 @@ public:
* the disk resource.
* \param vdev If the disk contains ZFS label information,
* a pointer to the disk label's vdev object
- * data. Otherwise NULL.
+ * data. Otherwise NULL.
*
* \return True if this event was consumed by this CaseFile.
*/
@@ -346,7 +346,7 @@ protected:
string m_vdevPhysPath;
/**
- * \brief Callout activated when a grace period
+ * \brief Callout activated when a grace period
*/
Callout m_tentativeTimer;
};
Modified: projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.cc Mon Oct 14 21:21:05 2013 (r256457)
@@ -67,7 +67,7 @@ ParseException::ToString() const
result << "Parsing ";
- switch(Type()) {
+ switch (Type()) {
case INVALID_FORMAT:
result << "invalid format ";
break;
@@ -131,7 +131,7 @@ DevCtlEvent::Init()
EventFactoryRecord *rec(s_factoryTable);
EventFactoryRecord *lastRec(s_factoryTable
+ NUM_ELEMENTS(s_factoryTable) - 1);
-
+
for (; rec <= lastRec; rec++) {
EventFactoryKey key(rec->m_type, rec->m_subsystem);
@@ -434,10 +434,10 @@ DevfsEvent::IsWholeDev(const string &dev
/* alpha prefix followed only by digits. */
for (; i < devName.end() && !isdigit(*i); i++)
;
-
+
if (i == devName.end())
return (false);
-
+
for (; i < devName.end() && isdigit(*i); i++)
;
Modified: projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.h
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.h Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/dev_ctl_event.h Mon Oct 14 21:21:05 2013 (r256457)
@@ -143,7 +143,7 @@ ParseException::ParseException(Type type
}
//- ParseException Inline Const Public Methods ---------------------------------
-inline ParseException::Type
+inline ParseException::Type
ParseException::GetType() const
{
return (m_type);
@@ -271,7 +271,7 @@ public:
*/
void Log(int priority) const;
- /**
+ /**
* Create and return a fully independent clone
* of this event.
*/
Modified: projects/zfsd/head/cddl/sbin/zfsd/guid.h
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/guid.h Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/guid.h Mon Oct 14 21:21:05 2013 (r256457)
@@ -47,7 +47,7 @@
*
* It can generally be manipulated as a uint64_t, but with a special
* value INVALID_GUID that does not equal any valid guid.
- *
+ *
* As of this writing, spa_generate_guid() in spa_misc.c explicitly
* refuses to return a guid of 0. So this class uses 0 as the value
* for INVALID_GUID. In the future, if 0 is allowed to be a valid
Modified: projects/zfsd/head/cddl/sbin/zfsd/vdev_iterator.cc
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/vdev_iterator.cc Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/vdev_iterator.cc Mon Oct 14 21:21:05 2013 (r256457)
@@ -69,7 +69,7 @@ VdevIterator::Reset()
result = nvlist_lookup_nvlist(m_poolConfig,
ZPOOL_CONFIG_VDEV_TREE,
&rootVdev);
- if (result != 0)
+ if (result != 0)
throw ZfsdException(m_poolConfig, "Unable to extract "
"ZPOOL_CONFIG_VDEV_TREE from pool.");
m_vdevQueue.assign(1, rootVdev);
@@ -135,7 +135,7 @@ VdevIterator::Find(Guid vdevGUID)
Vdev vdev(m_poolConfig, vdevConfig);
if (vdev.GUID() == vdevGUID)
- return vdevConfig;
+ return (vdevConfig);
}
return (NULL);
}
Modified: projects/zfsd/head/cddl/sbin/zfsd/zfsd.cc
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/zfsd.cc Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/zfsd.cc Mon Oct 14 21:21:05 2013 (r256457)
@@ -35,7 +35,7 @@
*
* The ZFS daemon consumes kernel devctl(4) event data via devd(8)'s
* unix domain socket in order to react to system changes that impact
- * the function of ZFS storage pools. The goal of this daemon is to
+ * the function of ZFS storage pools. The goal of this daemon is to
* provide similar functionality to the Solaris ZFS Diagnostic Engine
* (zfs-diagnosis), the Solaris ZFS fault handler (zfs-retire), and
* the Solaris ZFS vdev insertion agent (zfs-mod sysevent handler).
@@ -180,9 +180,9 @@ EventBuffer::ExtractEvent(string &eventS
*/
continue;
}
- syslog(LOG_WARNING,
- "Event exceeds event size limit of %d bytes.",
- MAX_EVENT_SIZE);
+ syslog(LOG_WARNING, "Overran event buffer\n\tm_nextEventOffset"
+ "=%d\n\tm_parsedLen=%d\n\tm_validLen=%d",
+ m_nextEventOffset, m_parsedLen, m_validLen);
} else {
/*
* Include the normal terminator in the extracted
@@ -250,11 +250,10 @@ EventBuffer::Fill()
want = std::min(avail, MAX_READ_SIZE - m_validLen);
consumed = m_reader.read(m_buf + m_validLen, want);
if (consumed == -1) {
- if (errno == EINTR) {
+ if (errno == EINTR)
return (false);
- } else {
+ else
err(1, "EventBuffer::Fill(): Read failed");
- }
}
}
@@ -430,7 +429,7 @@ ZfsDaemon::ConnectToDevd()
sLen = SUN_LEN(&devdAddr);
s_devdSockFD = socket(AF_UNIX, SOCK_STREAM, 0);
- if (s_devdSockFD == -1)
+ if (s_devdSockFD == -1)
err(1, "Unable to create socket");
result = connect(s_devdSockFD,
reinterpret_cast<sockaddr *>(&devdAddr),
@@ -482,9 +481,9 @@ bool
ZfsDaemon::SaveEvent(const DevCtlEvent &event)
{
if (s_consumingEvents)
- return false;
+ return (false);
s_unconsumedEvents.push_back(event.DeepCopy());
- return true;
+ return (true);
}
/* Capture and process buffered events. */
Modified: projects/zfsd/head/cddl/sbin/zfsd/zfsd.h
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/zfsd.h Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/zfsd.h Mon Oct 14 21:21:05 2013 (r256457)
@@ -272,19 +272,39 @@ private:
/** Characters found between successive "key=value" strings. */
static const char s_keyPairSepTokens[];
- /** Temporary space for event data during our parsing. */
+ /** Temporary space for event data during our parsing. Laid out like
+ * this:
+ * <--------------------------------------------------------->
+ * | | | | |
+ * m_buf---| | | | |
+ * m_nextEventOffset-- | | |
+ * m_parsedLen------------- | |
+ * m_validLen-------------------------- |
+ * EVENT_BUFSIZE------------------------------------------------------
+ *
+ * Data before m_nextEventOffset has already been processed.
+ *
+ * Data between m_nextEvenOffset and m_parsedLen has been parsed, but
+ * not processed as a single event.
+ *
+ * Data between m_parsedLen and m_validLen has been read from the
+ * source, but not yet parsed.
+ *
+ * Between m_validLen and EVENT_BUFSIZE is empty space.
+ *
+ * */
char m_buf[EVENT_BUFSIZE];
/** Reference to the reader linked to devd's domain socket. */
Reader& m_reader;
- /** Valid bytes in m_buf. */
+ /** Offset within m_buf to the beginning of free space. */
size_t m_validLen;
- /** The amount of data in m_buf we have looked at. */
+ /** Offset within m_buf to the beginning of data not yet parsed */
size_t m_parsedLen;
- /** Offset to the start token of the next event. */
+ /** Offset within m_buf to the start token of the next event. */
size_t m_nextEventOffset;
/** The EventBuffer is aligned and tracking event records. */
Modified: projects/zfsd/head/cddl/sbin/zfsd/zfsd_exception.h
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/zfsd_exception.h Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/zfsd_exception.h Mon Oct 14 21:21:05 2013 (r256457)
@@ -96,7 +96,7 @@ public:
* \brief Augment/Modify a ZfsdException's string data.
*/
std::string& GetString();
-
+
/**
* \brief Emit exception data to syslog(3).
*/
Modified: projects/zfsd/head/cddl/sbin/zfsd/zpool_list.cc
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/zpool_list.cc Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/zpool_list.cc Mon Oct 14 21:21:05 2013 (r256457)
@@ -75,11 +75,10 @@ ZpoolList::LoadIterator(zpool_handle_t *
ZpoolList *zpl(reinterpret_cast<ZpoolList *>(data));
nvlist_t *poolConfig(zpool_get_config(pool, NULL));
- if (zpl->m_filter(pool, poolConfig, zpl->m_filterArg)) {
+ if (zpl->m_filter(pool, poolConfig, zpl->m_filterArg))
zpl->push_back(pool);
- } else {
+ else
zpool_close(pool);
- }
return (0);
}
Modified: projects/zfsd/head/cddl/sbin/zfsd/zpool_list.h
==============================================================================
--- projects/zfsd/head/cddl/sbin/zfsd/zpool_list.h Mon Oct 14 21:08:31 2013 (r256456)
+++ projects/zfsd/head/cddl/sbin/zfsd/zpool_list.h Mon Oct 14 21:21:05 2013 (r256457)
@@ -54,7 +54,7 @@ class Vdev;
/*============================= Class Definitions ============================*/
/*--------------------------------- ZpoolList --------------------------------*/
class ZpoolList;
-typedef bool PoolFilter_t(zpool_handle_t *pool, nvlist_t *poolConfig,
+typedef bool PoolFilter_t(zpool_handle_t *pool, nvlist_t *poolConfig,
void *filterArg);
/**
@@ -82,7 +82,7 @@ public:
/**
* \brief Utility ZpoolList construction filter that causes only
- * pools known to the system and having the specified name
+ * pools known to the system and having the specified name
* to be included in the intantiated ZpoolList.
*/
static PoolFilter_t ZpoolByName;
@@ -103,9 +103,9 @@ public:
private:
/**
* \brief Helper routine used to populate the internal
- * data store of ZFS pool objects using libzfs's
+ * data store of ZFS pool objects using libzfs's
* zpool_iter() function.
- *
+ *
* \param pool The ZFS pool object to filter.
* \param data User argument passed through zpool_iter().
*/
More information about the svn-src-projects
mailing list