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