ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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()"


 




Copyright © Lexa Software, 1996-2009.