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>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510261840.j9QIehUx087428>