git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 6 of 8 in “Replacing the system call pread() with lseek()/xread()/lseek() sequence.”
  1. Replacing the system call pread() with lseek()/xread()/lseek() sequence.Stefan-W. Hahn, Jan 9, 2007
  2. Andy WhitcroftJan 9, 2007
  3. Shawn O. PearceJan 9, 2007
  4. Junio C HamanoJan 10, 2007
  5. Johannes SchindelinJan 10, 2007
  6. Nicolas PitreJan 10, 2007
  7. Johannes SchindelinJan 9, 2007
  8. Nicolas PitreJan 10, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.