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

Re: [PATCH 1/2] Use git_open_noatime when accessing pack data

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 5, 2010, 17:26 UTC
Message-ID
<7vr5ezu1fm.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20101104050437.GB15018@burratino>
Jonathan Nieder <jrnieder@gmail.com> writes:
> I guess I should put it another way.  What if anything does readonly
> have to do with O_NOATIME?  Why shouldn't we always use O_NOATIME?
> Why should the operating system provide atime at all?

Well, I think what you are getting at is that the proposed API in Shawn's patch and my suggestion is upside down, and it should be layered more like this (from lower to higher layers) from the interface's point of view:

 - git_open_wpf(): an API to get a file descriptor to a file, while
   protecting open fds to a packfile from getting reclaimed;
 - git_open(): a thin wrapper of the previous, for callers that do not
   need any "with-pack-file" aspect of it;
 - git_open_noatime(): a thin wrapper of the previous, for callers that do
   not want to incur inode metainformation traffic to the filesystem.
 
even though the bulk of implementation, including the logic to handle
no-atime, probably needs to happen in the lowermost layer.
Previous: Kevin BallardNext: Shawn O. Pearce
Message 8 of 11 in “Work around too many file descriptors”
  1. 0/2 Work around too many file descriptorsShawn O. Pearce, Nov 1, 2010
  2. 1/2 Use git_open_noatime when accessing pack dataShawn O. Pearce, Nov 1, 2010
  3. Junio C HamanoNov 3, 2010
  4. Jonathan NiederNov 3, 2010
  5. Junio C HamanoNov 3, 2010
  6. Jonathan NiederNov 4, 2010
  7. Kevin BallardNov 4, 2010
  8. Junio C HamanoNov 5, 2010
  9. 2/2 Work around EMFILE when there are too many pack filesShawn O. Pearce, Nov 1, 2010
  10. Johannes SixtNov 2, 2010
  11. Junio C HamanoNov 3, 2010

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.