From owner-freebsd-hackers@FreeBSD.ORG Sat Feb 20 06:18:46 2010 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 8297410656A6; Sat, 20 Feb 2010 06:18:46 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (kientzle.com [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id 53C1C8FC33; Sat, 20 Feb 2010 06:18:45 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.3/8.14.3) id o1K6IsZt098951; Sat, 20 Feb 2010 06:18:54 GMT (envelope-from kientzle@freebsd.org) Received: from dark.x.kientzle.com (fw2.kientzle.com [10.123.1.2]) by kientzle.com with SMTP id vshm7w9fge9ir2vsmez6t7t5g2; Sat, 20 Feb 2010 06:18:54 +0000 (UTC) (envelope-from kientzle@freebsd.org) Message-ID: <4B7F7F02.1000004@freebsd.org> Date: Fri, 19 Feb 2010 22:19:46 -0800 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.21) Gecko/20090601 SeaMonkey/1.1.16 MIME-Version: 1.0 To: Jung-uk Kim References: <20100217215940.GA19713@triton8.kn-bremen.de> <20100219181247.GA35702@triton8.kn-bremen.de> <4B7F711E.6040402@freebsd.org> <201002200100.48161.jkim@FreeBSD.org> In-Reply-To: <201002200100.48161.jkim@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, Juergen Lock , Garrett Cooper Subject: Re: "tar tfv /dev/cd0" speedup patch 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: Sat, 20 Feb 2010 06:18:46 -0000 I should have been clearer; I tried this techniqe on FreeBSD; I've not tried it on Linux yet. (I don't have a Linux machine with a tape drive at the moment.) It doesn't work on FreeBSD; I was questioning whether anyone else had tested it on Linux. If Juergen's technique doesn't work, I'll try the BLKGETSIZE ioctl. Tim Jung-uk Kim wrote: > On Saturday 20 February 2010 12:20 am, Tim Kientzle wrote: >> Juergen, >> >> I was looking at your Linux code here and thought >> the technique of trying lseek(SEEK_END) might work. >> Unfortunately, it doesn't: lseek(fd, 0, SEEK_END) gives >> zero for both /dev/sa0 (a tape drive) and /dev/cd0 >> (an optical drive). Are you sure it works on Linux? > > Can you please try ioctl(fd, BLKGETSIZE64, &some_uint64_var) or > ioctl(fd, BLKGETSIZE, &some_u_long_var)? > > Jung-uk Kim > >