From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 26 10:31:28 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CBF6E106564A for ; Mon, 26 Jan 2009 10:31:28 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe03.swip.net [212.247.154.65]) by mx1.freebsd.org (Postfix) with ESMTP id 5DED28FC0C for ; Mon, 26 Jan 2009 10:31:28 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=LM6s6kK2HmktTp5hIBEA:9 a=_ad5w0irk8D5ob9HfnsA:7 a=CWb9w0avl5R_JSKTsWGeTBFdBVQA:4 a=9aOQ2cSd83gA:10 a=LY0hPdMaydYA:10 Received: from [85.19.218.115] (account mc467741@c2i.net HELO [10.37.1.92]) by mailfe03.swip.net (CommuniGate Pro SMTP 5.2.6) with ESMTPA id 1190351307; Mon, 26 Jan 2009 11:31:26 +0100 From: Hans Petter Selasky To: freebsd-hackers@freebsd.org Date: Mon, 26 Jan 2009 11:33:51 +0100 User-Agent: KMail/1.9.7 References: <3930e0780901260135j1428e77fmfe7392770fcd31fc@mail.gmail.com> <200901261109.43376.hselasky@c2i.net> <3930e0780901260224ye4acbabx7a629ec8da195138@mail.gmail.com> In-Reply-To: <3930e0780901260224ye4acbabx7a629ec8da195138@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200901261133.51924.hselasky@c2i.net> Cc: Lukasz Jaroszewski Subject: Re: write(2) to /dev/ad4 = EINVAL X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jan 2009 10:31:29 -0000 On Monday 26 January 2009, Lukasz Jaroszewski wrote: > 2009/1/26 Hans Petter Selasky : > > On Monday 26 January 2009, Lukasz Jaroszewski wrote: > >> Hi, > >> after opening /dev/ad4 with success for O_RDWR, I am getting [EINVAL] > >> from write(2), which according to man 2 write, means > >> `` [EINVAL] The pointer associated with d was > >> negative.'', as you can see below it is not true, I have tried > >> different block sizes, with same result. > >> > >> How can I write one byte to /dev/adN ? > > > > Hi, > > > > You cannot write one byte to /dev/adN, I think. Harddisks are block > > based. Please see: > > > > diskinfo -v ad4 > > > > And especially the "sector size". When you seek and transfer data the > > offset and length must be a factor of the "sector size" or "block size". > > See also LBA, logical block address. > > Yes, I have tried with bs=512 and multiplies, no luck. > > root@~(0) diskinfo -v ad4 > ad4 > 512 # sectorsize > 2029805568 # mediasize in bytes (1.9G) > 3964464 # mediasize in sectors > 3933 # Cylinders according to firmware. > 16 # Heads according to firmware. > 63 # Sectors according to firmware. > ad:CFx20CARDx200000190C # Disk ident. > And if you add a "lseek(f, 0, SEEK_SET);" after open? --HPS