Date: Wed, 26 Oct 2005 18:40:43 +0000 (UTC) From: Brian Feldman <green@FreeBSD.org> To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: ports/benchmarks/rawio Makefile ports/benchmarks/rawio/files patch-ad Message-ID: <200510261840.j9QIehUx087428@repoman.freebsd.org>
index | next in thread | raw e-mail
green 2005-10-26 18:40:43 UTC
FreeBSD ports repository
Modified files:
benchmarks/rawio Makefile
benchmarks/rawio/files patch-ad
Log:
Modify rawio(1) to work with GEOM by losing the multiple-open(2)
semantics. As GEOM prevents actual concurrent accesses that are
deemed generally unsafe. As we know, as a rawio(1) user, that we
are intending to do something ostensibly unsafe, we can use a single
open(2) shared among the worker children and then use pread(2) and
pwrite(2) instead of read(2), write(2) and lseek(2). This properly
bypasses the sanity checks GEOM makes for concurrent access.
Additionally, sector size isn't and hasn't ever been necessarily 512
(or a multiple thereof), but we don't have many classical examples
of devices not the common case that we'd test rawio(1) with. In my
particular case, I'm using graid3(8) and have an effective sector size
of 1024. The program now attempts to use DIOCGSECTORSIZE to find
the correct base for a device and thus Works For Me.
Cursory review by: MAINTAINER
Revision Changes Path
1.13 +1 -1 ports/benchmarks/rawio/Makefile
1.3 +230 -4 ports/benchmarks/rawio/files/patch-ad
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510261840.j9QIehUx087428>
