Date: Sat, 20 Feb 2010 11:33:29 +0100 From: Juergen Lock <nox@jelal.kn-bremen.de> To: Jung-uk Kim <jkim@FreeBSD.org> Cc: freebsd-hackers@FreeBSD.org, Tim Kientzle <kientzle@FreeBSD.org>, Juergen Lock <nox@jelal.kn-bremen.de>, Garrett Cooper <yanefbsd@gmail.com> Subject: Re: "tar tfv /dev/cd0" speedup patch Message-ID: <20100220103329.GA35467@triton8.kn-bremen.de> In-Reply-To: <201002200100.48161.jkim@FreeBSD.org> References: <20100217215940.GA19713@triton8.kn-bremen.de> <20100219181247.GA35702@triton8.kn-bremen.de> <4B7F711E.6040402@freebsd.org> <201002200100.48161.jkim@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Feb 20, 2010 at 01:00:40AM -0500, 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)? Yeah I've stumbled across these ioctls in the meantime too, I was just not sure if all Linux versions currently in use already have the 64 bit version i.e. BLKGETSIZE64... (since we don't want the 32 bit version for the same reason we don't want 32 bit off_t. :) Cheers, Juergen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100220103329.GA35467>