summaryrefslogtreecommitdiff
path: root/sha1_file.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-10-28 13:29:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-11-03 02:34:41 (GMT)
commitb4d065df03049bacfbc40467b60b13e804b7d289 (patch)
tree74c0a99340ca989cec2ae69dba29045026b0aa1b /sha1_file.c
parent1e3001a8e2386a1433d1769a5a78007596bbc04d (diff)
downloadgit-b4d065df03049bacfbc40467b60b13e804b7d289.zip
git-b4d065df03049bacfbc40467b60b13e804b7d289.tar.gz
git-b4d065df03049bacfbc40467b60b13e804b7d289.tar.bz2
sha1_file: stop opening files with O_NOATIME
When we open object files, we try to do so with O_NOATIME. This dates back to 144bde78e9 (Use O_NOATIME when opening the sha1 files., 2005-04-23), which is an optimization to avoid creating a bunch of dirty inodes when we're accessing many objects. But a few things have changed since then: 1. In June 2005, git learned about packfiles, which means we would do a lot fewer atime updates (rather than one per object access, we'd generally get one per packfile). 2. In late 2006, Linux learned about "relatime", which is generally the default on modern installs. So performance around atimes updates is a non-issue there these days. All the world isn't Linux, but as it turns out, Linux is the only platform to implement O_NOATIME in the first place. So it's very unlikely that this code is helping anybody these days. Helped-by: Jeff King <peff@peff.net> [jc: took idea and log message from peff] Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_file.c')
-rw-r--r--sha1_file.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/sha1_file.c b/sha1_file.c
index 64e1a21..4e062ed 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -27,14 +27,6 @@
#include "list.h"
#include "mergesort.h"
-#ifndef O_NOATIME
-#if defined(__linux__) && (defined(__i386__) || defined(__PPC__))
-#define O_NOATIME 01000000
-#else
-#define O_NOATIME 0
-#endif
-#endif
-
#define SZ_FMT PRIuMAX
static inline uintmax_t sz_fmt(size_t s) { return s; }
@@ -1586,19 +1578,6 @@ int git_open_cloexec(const char *name, int flags)
return fd;
}
-int git_open(const char *name)
-{
- static int noatime = O_NOATIME;
- int fd = git_open_cloexec(name, O_RDONLY);
-
- if (0 <= fd && (noatime & O_NOATIME)) {
- int flags = fcntl(fd, F_GETFL);
- if (fcntl(fd, F_SETFL, flags | noatime))
- noatime = 0;
- }
- return fd;
-}
-
static int stat_sha1_file(const unsigned char *sha1, struct stat *st)
{
struct alternate_object_database *alt;