Bug 175630 - New port: benchmarks/iorate A general purpose storage I/O benchmarking tool
Summary: New port: benchmarks/iorate A general purpose storage I/O benchmarking tool
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Alexey Dokuchaev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-27 13:40 UTC by Vasiliy Ch
Modified: 2013-06-15 18:30 UTC (History)
0 users

See Also:


Attachments
file.shar (6.03 KB, text/plain)
2013-01-27 13:40 UTC, Vasiliy Ch
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vasiliy Ch 2013-01-27 13:40:00 UTC
Iorate is a general purpose storage I/O benchmarking tool.

Iorate was created in 1997 by Vince Westin of EMC while working with Cliff
Burrell of FedEx to fill a need to perform a set of storage I/O benchmarks.
Though Iorate was developed by EMC staff with EMC resources there are no
EMC-specific pieces to the testing, it just tests storage.

Iorate is freely available for public use.

Author: Iorate was created in 1997 by Vince Westin of EMC
WWW: http://iorate.org/

Fix: Patch attached with submission follows:
Comment 1 Alexey Dokuchaev freebsd_committer freebsd_triage 2013-01-30 06:46:37 UTC
Responsible Changed
From-To: freebsd-ports-bugs->danfe

Grab it.
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-06-15 18:21:49 UTC
Author: danfe
Date: Sat Jun 15 17:21:40 2013
New Revision: 321007
URL: http://svnweb.freebsd.org/changeset/ports/321007

Log:
  Add the port of Iorate, a general purpose storage I/O benchmarking tool.
  
  PR:	ports/175630

Added:
  head/benchmarks/iorate/
  head/benchmarks/iorate/Makefile   (contents, props changed)
  head/benchmarks/iorate/distinfo   (contents, props changed)
  head/benchmarks/iorate/files/
  head/benchmarks/iorate/files/patch-ior_mach.c   (contents, props changed)
  head/benchmarks/iorate/files/patch-ior_mach.h   (contents, props changed)
  head/benchmarks/iorate/pkg-descr   (contents, props changed)
  head/benchmarks/iorate/pkg-plist   (contents, props changed)
Modified:
  head/benchmarks/Makefile

Modified: head/benchmarks/Makefile
==============================================================================
--- head/benchmarks/Makefile	Sat Jun 15 16:21:18 2013	(r321006)
+++ head/benchmarks/Makefile	Sat Jun 15 17:21:40 2013	(r321007)
@@ -26,6 +26,7 @@
     SUBDIR += httperf
     SUBDIR += imb
     SUBDIR += interbench
+    SUBDIR += iorate
     SUBDIR += iozone
     SUBDIR += iozone21
     SUBDIR += iperf

Added: head/benchmarks/iorate/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/iorate/Makefile	Sat Jun 15 17:21:40 2013	(r321007)
@@ -0,0 +1,41 @@
+# $FreeBSD$
+
+PORTNAME=	iorate
+PORTVERSION=	3.05
+CATEGORIES=	benchmarks
+MASTER_SITES=	http://sites.google.com/site/vwiorate/downloads/3-05/
+DISTNAME=	iorate-${PORTVERSION}-src
+EXTRACT_SUFX=	.tar
+
+MAINTAINER=	blttll@gmail.com
+COMMENT=	General purpose storage I/O benchmarking tool
+
+USES=		bison
+FETCH_ARGS=	-Fpr
+MAKEFILE=	makefile
+MAKE_ARGS=	CC="${CC}"
+NO_WRKSUBDIR=	yes
+
+MAN1=		${PORTNAME}.1
+PORTDOCS=	README README.versions
+
+OPTIONS_DEFINE=	DOCS
+
+.include <bsd.port.options.mk>
+
+post-patch:
+	@${REINPLACE_CMD} -e 's,^CFLAGS ,&+,' ${WRKSRC}/${MAKEFILE}
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/iorate ${WRKSRC}/ior_rand ${PREFIX}/bin
+	${INSTALL_MAN} ${WRKSRC}/${MAN1} ${MANPREFIX}/man/man1
+	@${MKDIR} ${DATADIR}
+	${INSTALL_SCRIPT} ${WRKSRC}/cycle ${WRKSRC}/gen_* ${WRKSRC}/run_* \
+		${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/*.ior ${DATADIR}
+.if ${PORT_OPTIONS:MDOCS}
+	@${MKDIR} ${DOCSDIR}
+	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${DOCSDIR}
+.endif
+
+.include <bsd.port.mk>

Added: head/benchmarks/iorate/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/iorate/distinfo	Sat Jun 15 17:21:40 2013	(r321007)
@@ -0,0 +1,2 @@
+SHA256 (iorate-3.05-src.tar) = 6305413dc3ac7d833b0e4d99e30ac6cfd67b2f943b758166a3661c8f96b2480e
+SIZE (iorate-3.05-src.tar) = 460800

Added: head/benchmarks/iorate/files/patch-ior_mach.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/iorate/files/patch-ior_mach.c	Sat Jun 15 17:21:40 2013	(r321007)
@@ -0,0 +1,40 @@
+--- ior_mach.c_orig	2013-01-27 02:03:38.000000000 +0200
++++ ior_mach.c	2013-01-27 04:52:47.000000000 +0200
+@@ -411,6 +411,10 @@
+     };	
+ 
+ #else
++#if	defined(IOR_LARGE_FILES) && defined(__FreeBSD__)
++#define	IOR_SET_LOCK_FLAG	F_SETLK
++    struct flock d_lock;		/* lock command to run */
++#else
+ #ifdef	IOR_LARGE_FILES
+ #define	IOR_SET_LOCK_FLAG	F_SETLK64
+     struct flock64 d_lock;		/* lock command to run */
+@@ -418,6 +422,7 @@
+ #define	IOR_SET_LOCK_FLAG	F_SETLK
+     struct flock d_lock;		/* lock command to run */
+ #endif
++#endif
+ 
+     result = 0;				/* all OK so far */
+ 
+@@ -486,6 +491,10 @@
+     };	
+ 
+ #else
++#if	defined(IOR_LARGE_FILES) && defined(__FreeBSD__)
++#define	IOR_SET_LOCK_FLAG	F_SETLK
++    struct flock d_lock;		/* lock command to run */
++#else
+ #ifdef	IOR_LARGE_FILES
+ #define	IOR_SET_LOCK_FLAG	F_SETLK64
+     struct flock64 d_lock;		/* lock command to run */
+@@ -493,6 +502,7 @@
+ #define	IOR_SET_LOCK_FLAG	F_SETLK
+     struct flock d_lock;		/* lock command to run */
+ #endif
++#endif
+ 
+     result = 0;				/* all OK so far */
+ 

Added: head/benchmarks/iorate/files/patch-ior_mach.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/iorate/files/patch-ior_mach.h	Sat Jun 15 17:21:40 2013	(r321007)
@@ -0,0 +1,36 @@
+--- ior_mach.h_orig	2013-01-27 01:03:32.000000000 +0200
++++ ior_mach.h	2013-01-27 01:53:51.000000000 +0200
+@@ -142,7 +142,6 @@
+ #define	IOR_MAX_SEEK		(HUGE)(4398046511104LL)	/* 4 TB */
+ #endif
+ 
+-
+ /************************  OS is LINUX?  ************************/
+ /*
+  * Since RedHat uses their own version, check for it
+@@ -203,6 +202,16 @@
+ #endif
+ 
+ 
++/************************  OS is FreeBSD?  ***********************/
++#ifdef  __FreeBSD__
++#include <unistd.h>
++#ifdef  IOR_LARGE_FILES
++#define HUGE                    __off_t
++#define IOR_SEEK                lseek
++#define IOR_MAX_SEEK            (HUGE)(4398046511104LL) /* 4 TB */
++#endif
++#endif
++
+ /************************  OS is unknown?  ************************/
+ /*
+  * OK, not a known type, or did not set up large file support
+@@ -240,7 +249,7 @@
+ /*
+  * process exit status
+  */
+-#if	defined( _AIX ) || defined( HPUX ) || defined( __CYGWIN__ )
++#if	defined( _AIX ) || defined( HPUX ) || defined( __CYGWIN__ ) || defined(__FreeBSD__)
+ #include <sys/wait.h>
+ #else
+ #include <wait.h>

Added: head/benchmarks/iorate/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/iorate/pkg-descr	Sat Jun 15 17:21:40 2013	(r321007)
@@ -0,0 +1,8 @@
+Iorate is a general purpose storage I/O benchmarking tool.
+
+Iorate was created in 1997 by Vince Westin of EMC while working with Cliff
+Burrell of FedEx to fill a need to perform a set of storage I/O benchmarks.
+Though Iorate was developed by EMC staff with EMC resources there are no
+EMC-specific pieces to the testing, it just tests storage.
+
+WWW: http://iorate.org/

Added: head/benchmarks/iorate/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/iorate/pkg-plist	Sat Jun 15 17:21:40 2013	(r321007)
@@ -0,0 +1,23 @@
+bin/ior_rand
+bin/iorate
+%%DATADIR%%/cycle
+%%DATADIR%%/devices.ior
+%%DATADIR%%/gen_dev.awk
+%%DATADIR%%/gen_devs
+%%DATADIR%%/gen_iops
+%%DATADIR%%/gen_iops.awk
+%%DATADIR%%/gen_stats
+%%DATADIR%%/gen_stats.awk
+%%DATADIR%%/gen_sum.awk
+%%DATADIR%%/gen_sums
+%%DATADIR%%/gen_totals
+%%DATADIR%%/gen_totals.awk
+%%DATADIR%%/patterns.ior
+%%DATADIR%%/run_ast
+%%DATADIR%%/run_test
+%%DATADIR%%/run_var
+%%DATADIR%%/tests-ast.ior
+%%DATADIR%%/tests-fx.ior
+%%DATADIR%%/tests-var.ior
+%%DATADIR%%/tests.ior
+@dirrm %%DATADIR%%
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Alexey Dokuchaev freebsd_committer freebsd_triage 2013-06-15 18:23:10 UTC
State Changed
From-To: open->closed

Committed with modifications, thanks!