svn commit: r300690 - in projects/zfsd/head: cddl/usr.sbin/zfsd lib/libdevdctl
Alan Somers
asomers at FreeBSD.org
Wed May 25 17:10:11 UTC 2016
Author: asomers
Date: Wed May 25 17:10:10 2016
New Revision: 300690
URL: https://svnweb.freebsd.org/changeset/base/300690
Log:
Fix the zfsd build on sparc64
lib/libdevdctl/event.cc
cddl/usr.sbin/zfsd/case_file.cc
Remove C++11isms
cddl/usr.sbin/zfsd/vdev.cc
cddl/usr.sbin/zfsd/zfsd_event.cc
Undefine the flush macro, which is defined by cpufunc.h for sparc64
only. It conficts with std::[io]stream::flush
Sponsored by: Spectra Logic Corp
Modified:
projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc
projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc
projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc
projects/zfsd/head/lib/libdevdctl/event.cc
Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc
==============================================================================
--- projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc Wed May 25 16:38:10 2016 (r300689)
+++ projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc Wed May 25 17:10:10 2016 (r300690)
@@ -143,7 +143,8 @@ CaseFile::ReEvaluateByGuid(Guid poolGUID
{
CaseFileList::iterator casefile;
for (casefile = s_activeCases.begin(); casefile != s_activeCases.end();){
- CaseFileList::iterator next = std::next(casefile);
+ CaseFileList::iterator next = casefile;
+ next++;
if (poolGUID == (*casefile)->PoolGUID())
(*casefile)->ReEvaluate(event);
casefile = next;
Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc
==============================================================================
--- projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc Wed May 25 16:38:10 2016 (r300689)
+++ projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc Wed May 25 17:10:10 2016 (r300690)
@@ -42,6 +42,11 @@
#include <sys/fs/zfs.h>
#include <libzfs.h>
+/*
+ * Undefine flush, defined by cpufunc.h on sparc64, because it conflicts with
+ * C++ flush methods
+ */
+#undef flush
#include <list>
#include <map>
Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc
==============================================================================
--- projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc Wed May 25 16:38:10 2016 (r300689)
+++ projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc Wed May 25 17:10:10 2016 (r300690)
@@ -40,6 +40,11 @@
#include <syslog.h>
#include <libzfs.h>
+/*
+ * Undefine flush, defined by cpufunc.h on sparc64, because it conflicts with
+ * C++ flush methods
+ */
+#undef flush
#include <list>
#include <map>
Modified: projects/zfsd/head/lib/libdevdctl/event.cc
==============================================================================
--- projects/zfsd/head/lib/libdevdctl/event.cc Wed May 25 16:38:10 2016 (r300689)
+++ projects/zfsd/head/lib/libdevdctl/event.cc Wed May 25 17:10:10 2016 (r300690)
@@ -44,12 +44,12 @@
#include <err.h>
#include <fcntl.h>
+#include <inttypes.h>
#include <paths.h>
#include <stdlib.h>
#include <syslog.h>
#include <unistd.h>
-#include <cinttypes>
#include <cstdarg>
#include <cstring>
#include <iostream>
@@ -69,9 +69,7 @@ __FBSDID("$FreeBSD$");
#define NUM_ELEMENTS(x) (sizeof(x) / sizeof(*x))
/*============================ Namespace Control =============================*/
-using std::begin;
using std::cout;
-using std::end;
using std::endl;
using std::string;
using std::stringstream;
@@ -135,7 +133,8 @@ Event::DevName(std::string &name) const
bool
Event::IsDiskDev() const
{
- static const char *diskDevNames[] =
+ const int numDrivers = 2;
+ static const char *diskDevNames[numDrivers] =
{
"da",
"ada"
@@ -154,7 +153,8 @@ Event::IsDiskDev() const
find_start++;
}
- for (dName = begin(diskDevNames); dName <= end(diskDevNames); dName++) {
+ for (dName = &diskDevNames[0];
+ dName <= &diskDevNames[numDrivers - 1]; dName++) {
size_t loc(devName.find(*dName, find_start));
if (loc == find_start) {
More information about the svn-src-projects
mailing list