Revision 1.3 of patch-ad worked around the problem, that only one writer
is allowed to allow a partition through GEOM. The fix was not complete,
leading to the file position not been incremented during reads and writes,
thus not testing sequential performance, but performance of cached reads
and writes, in general.
This fix makes rawio report reasonable sequential performance again,
but I'm still very suspicious with regard to randomized start positions
working. The results do not show the expected variation of sequential
read/write performance. I have not had time to look into this any deeper,
though, and thus decidied to not delay the commit any further ...
- Update MASTER_SITE to fix fetch problem.
Instead of replacing the master-site, I have added the second one
until Greg fixes his ftp site.
PR: ports/87988
Submitted by: Jean Milanez Melo <jmelo@freebsdbrasil.com.br>
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
run rawio with -s option(size of raw disk device), as follows:
% rawio -a -s 30029328k -v 1 /dev/ad4c
returned:
Invalid length specification: -v
in source rawio.c, it skips parsing argument at one point.
PR: ports/58567
Submitted by: OOTOMO Hiroyuki <ootomo@za.wakwak.com>
Approved by: maintainer timeout