cvs commit: ports/benchmarks/rawio Makefile
ports/benchmarks/rawio/files patch-ad
Brian Feldman
green at FreeBSD.org
Wed Oct 26 11:40:44 PDT 2005
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
More information about the cvs-ports
mailing list