svn commit: r346787 - in head/benchmarks/raidtest: . files

Alexander Motin mav at FreeBSD.org
Sun Mar 2 18:19:49 UTC 2014


Author: mav (src committer)
Date: Sun Mar  2 18:19:48 2014
New Revision: 346787
URL: http://svnweb.freebsd.org/changeset/ports/346787
QAT: https://qat.redports.org/buildarchive/r346787/

Log:
  Fix integer type overflow, limiting test range to first 4GB of the media.
  
  Reviewed by:	pjd

Modified:
  head/benchmarks/raidtest/Makefile
  head/benchmarks/raidtest/files/raidtest.c

Modified: head/benchmarks/raidtest/Makefile
==============================================================================
--- head/benchmarks/raidtest/Makefile	Sun Mar  2 18:18:19 2014	(r346786)
+++ head/benchmarks/raidtest/Makefile	Sun Mar  2 18:19:48 2014	(r346787)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	raidtest
-PORTVERSION=	1.2
+PORTVERSION=	1.3
 CATEGORIES=	benchmarks
 MASTER_SITES=	# none
 DISTFILES=	# none

Modified: head/benchmarks/raidtest/files/raidtest.c
==============================================================================
--- head/benchmarks/raidtest/files/raidtest.c	Sun Mar  2 18:18:19 2014	(r346786)
+++ head/benchmarks/raidtest/files/raidtest.c	Sun Mar  2 18:19:48 2014	(r346787)
@@ -113,8 +113,8 @@ write_ioreq(int fd, struct ioreq *iorq)
 static void
 raidtest_genfile(int argc, char *argv[])
 {
-	uintmax_t i, nreqs, mediasize, nsectors, nbytes, nrreqs, nwreqs;
-	unsigned secsize, maxsec;
+	uintmax_t i, nreqs, mediasize, nsectors, nbytes, nrreqs, nwreqs, maxsec;
+	unsigned secsize;
 	const char *file = NULL;
 	struct ioreq iorq;
 	int ch, fd, flags, rdonly, wronly;
@@ -189,7 +189,8 @@ raidtest_genfile(int argc, char *argv[])
 		iorq.iorq_length = gen_size(secsize);
 		/* Generate I/O request offset. */
 		maxsec = nsectors - (iorq.iorq_length / secsize);
-		iorq.iorq_offset = (arc4random() % maxsec) * secsize;
+		iorq.iorq_offset = ((((uintmax_t)arc4random() << 32) |
+		    arc4random()) % maxsec) * secsize;
 		/* Generate I/O request type. */
 		if (rdonly)
 			iorq.iorq_type = IO_TYPE_READ;


More information about the svn-ports-head mailing list