# HG changeset patch # User Igor Sysoev # Date 1157087756 0 # Node ID 364195c9ee00d150c0c6d3b279abff23cfdfcfcf # Parent e3e0b20d8eb290af626d465d20c3305a7bff3a3d Linux O_NOATIME support diff --git a/src/http/modules/ngx_http_index_module.c b/src/http/modules/ngx_http_index_module.c --- a/src/http/modules/ngx_http_index_module.c +++ b/src/http/modules/ngx_http_index_module.c @@ -239,7 +239,8 @@ ngx_http_index_handler(ngx_http_request_ return NGX_HTTP_INTERNAL_SERVER_ERROR; } - fd = ngx_open_file(ctx->path.data, NGX_FILE_RDONLY, NGX_FILE_OPEN); + fd = ngx_open_file(ctx->path.data, NGX_FILE_RDONLY|NGX_FILE_NOATIME, + NGX_FILE_OPEN); if (fd == (ngx_fd_t) NGX_AGAIN) { ctx->current = i; diff --git a/src/http/modules/ngx_http_static_module.c b/src/http/modules/ngx_http_static_module.c --- a/src/http/modules/ngx_http_static_module.c +++ b/src/http/modules/ngx_http_static_module.c @@ -125,7 +125,8 @@ ngx_http_static_handler(ngx_http_request return NGX_HTTP_INTERNAL_SERVER_ERROR; } - fd = ngx_open_file(path.data, NGX_FILE_RDONLY, NGX_FILE_OPEN); + fd = ngx_open_file(path.data, NGX_FILE_RDONLY|NGX_FILE_NOATIME, + NGX_FILE_OPEN); if (fd == NGX_INVALID_FILE) { err = ngx_errno; diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h --- a/src/os/unix/ngx_files.h +++ b/src/os/unix/ngx_files.h @@ -28,6 +28,11 @@ #define NGX_FILE_TRUNCATE O_TRUNC #define NGX_FILE_APPEND O_APPEND +#ifdef O_NOATIME +#define NGX_FILE_NOATIME O_NOATIME +#else +#define NGX_FILE_NOATIME 0 +#endif #define ngx_close_file close #define ngx_close_file_n "close()" diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h @@ -42,6 +42,7 @@ #define NGX_FILE_CREATE_OR_OPEN OPEN_ALWAYS #define NGX_FILE_OPEN OPEN_EXISTING #define NGX_FILE_APPEND 0 +#define NGX_FILE_NOATIME 0 ngx_int_t ngx_file_append_mode(ngx_fd_t fd);