Re: [PATCH 1/2] Use git_open_noatime when accessing pack data
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:58
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.