Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-0.4.1
On Thu, 14 Sep 2006, Alexey Polyakov wrote:
On 9/14/06, Evgeny Stepanischev <se@xxxxxxxx> wrote:
> *) Добавление: теперь на Linux nginx для статических запросов
> использует флаг O_NOATIME. Спасибо Yusuf Goolamabbas.
А это зачем?..
Видимо чтобы снизить нагрузку на ФС если она подмонтирована без
noatime/nodiratime (или вообще поддержка noatime сломана/отсутствует).
Как оказалось, для O_NOATIME нужна CAP_FOWNER capability:
http://www.die.net/doc/linux/man/man7/capabilities.7.html
Прилагамый патч убирает O_NOATIME.
Игорь Сысоев
http://sysoev.ru --- src/http/modules/ngx_http_index_module.c
+++ src/http/modules/ngx_http_index_module.c
@@ -239,8 +239,7 @@
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
- fd = ngx_open_file(ctx->path.data, NGX_FILE_RDONLY|NGX_FILE_NOATIME,
- NGX_FILE_OPEN);
+ fd = ngx_open_file(ctx->path.data, NGX_FILE_RDONLY, NGX_FILE_OPEN);
if (fd == (ngx_fd_t) NGX_AGAIN) {
ctx->current = i;
--- src/http/modules/ngx_http_static_module.c
+++ src/http/modules/ngx_http_static_module.c
@@ -125,8 +125,7 @@
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
- fd = ngx_open_file(path.data, NGX_FILE_RDONLY|NGX_FILE_NOATIME,
- NGX_FILE_OPEN);
+ fd = ngx_open_file(path.data, NGX_FILE_RDONLY, NGX_FILE_OPEN);
if (fd == NGX_INVALID_FILE) {
err = ngx_errno;
--- src/os/unix/ngx_files.h
+++ src/os/unix/ngx_files.h
@@ -28,11 +28,6 @@
#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()"
|