Skip site navigation (1)Skip section navigation (2)
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>