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