Re: [PATCH] Replacing the system call pread() with lseek()/xread()/lseek() sequence.
- From
Nicolas Pitre <nico@cam.org>
- Date
- Jan 10, 2007, 01:12 UTC
- Message-ID
- <Pine.LNX.4.64.0701092010090.4964@xanadu.home>
- In-Reply-To
- <20070109232540.GA30023@spearce.org>
On Tue, 9 Jan 2007, Shawn O. Pearce wrote:
Show 11 quoted lines
> Andy Whitcroft <apw@shadowen.org> wrote: > > How likely are we ever to be in the right place here? Seems vanishingly > > small putting us firmly in the four syscalls per call space. I wonder > > if git ever actually cares about the seek location. ie if we could stop > > reading and resetting it. Probabally not worth working it out I guess > > as any _sane_ system has one. > > Andy's right actually. If we are using pread() we aren't relying > on the current file pointer. Which means its unnecessary to get > the current pointer before seeking to the requested offset, and its > unnecessary to restore it before the git_pread() function returns.
No this is wrong. The original offset _has_ to be preserved. index-pack counts on it.
Nicolas