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-all mailing list