Re: [PATCH 1/2] Use git_open_noatime when accessing pack data
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Nov 3, 2010, 17:41 UTC
- Message-ID
- <20101103174148.GB13377@burratino>
- In-Reply-To
- <7v8w1axrnp.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
> (1) introduce "int git_open_ro(const char *)" to replace the current > git_open_noatime(). The point is that the function no longer is > about avoiding from smudging the inode metadata. Instead, it becomes > the preferred way for us to get a read-only fd.
[...]
> We can of course do without s/git_open_noatime/git_open_ro/; and it will > make the patch much smaller. The rename is purely a clarification of the > API and is optional. It may make it easier to explain the name of the new > function, though.
Probably a silly question, but should all readonly open()s actually use noatime? Some uses for atime:
- tmpwatch. That one's a bit insane, anyway, but I think it might work because loose objects and packs are read-only.
- mail clients. For this case, noatime is the right thing to do --- git's access does mean the mail was read.
- listing important files, as in popularity-contest. For this, noatime is also the right thing to do.
Judging from these three use cases, readonly open()s to the worktree should indeed use noatime, but open()s of .git/config, say, should not. Hmm.