From owner-cvs-all@FreeBSD.ORG Wed Oct 26 18:40:44 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F99416A41F; Wed, 26 Oct 2005 18:40:44 +0000 (GMT) (envelope-from green@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D1FB843D45; Wed, 26 Oct 2005 18:40:43 +0000 (GMT) (envelope-from green@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j9QIehgF087429; Wed, 26 Oct 2005 18:40:43 GMT (envelope-from green@repoman.freebsd.org) Received: (from green@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j9QIehUx087428; Wed, 26 Oct 2005 18:40:43 GMT (envelope-from green) Message-Id: <200510261840.j9QIehUx087428@repoman.freebsd.org> From: Brian Feldman Date: Wed, 26 Oct 2005 18:40:43 +0000 (UTC) To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: ports/benchmarks/rawio Makefile ports/benchmarks/rawio/files patch-ad X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Oct 2005 18:40:44 -0000 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