Date: Fri, 19 Feb 2010 22:19:46 -0800 From: Tim Kientzle <kientzle@freebsd.org> To: Jung-uk Kim <jkim@freebsd.org> Cc: freebsd-hackers@freebsd.org, Juergen Lock <nox@jelal.kn-bremen.de>, Garrett Cooper <yanefbsd@gmail.com> Subject: Re: "tar tfv /dev/cd0" speedup patch Message-ID: <4B7F7F02.1000004@freebsd.org> 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
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 > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B7F7F02.1000004>