From: Jonathan Nieder Date: Wed, 03 Nov 2010 17:41:48 GMT Subject: Re: [PATCH 1/2] Use git_open_noatime when accessing pack data 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.