]> git.kaiwu.me - nginx.git/commitdiff
cache directio flag in open file cache
authorIgor Sysoev <igor@sysoev.ru>
Fri, 12 Sep 2008 13:39:51 +0000 (13:39 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Fri, 12 Sep 2008 13:39:51 +0000 (13:39 +0000)
src/core/ngx_open_file_cache.c
src/core/ngx_open_file_cache.h

index 614484d934d0f31c741ba87170722d9c49d3295b..f9c6a459a5443e6ab4da74c5d442c70a307ec736 100644 (file)
@@ -205,6 +205,7 @@ ngx_open_cached_file(ngx_open_file_cache_t *cache, ngx_str_t *name,
                 of->is_file = file->is_file;
                 of->is_link = file->is_link;
                 of->is_exec = file->is_exec;
+                of->is_directio = file->is_directio;
 
                 if (!file->is_dir) {
                     file->count++;
@@ -360,6 +361,7 @@ update:
         file->is_file = of->is_file;
         file->is_link = of->is_link;
         file->is_exec = of->is_exec;
+        file->is_directio = of->is_directio;
 
         if (!of->is_dir) {
             file->count++;
@@ -499,9 +501,9 @@ ngx_open_and_stat_file(u_char *name, ngx_open_file_info_t *of, ngx_log_t *log)
         of->fd = fd;
 
         if (of->directio <= ngx_file_size(&fi)) {
-            if (ngx_directio(fd) == -1) {
+            if (ngx_directio_on(fd) == -1) {
                 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
-                              ngx_directio_n " \"%s\" failed", name);
+                              ngx_directio_on_n " \"%s\" failed", name);
 
             } else {
                 of->is_directio = 1;
index b15de1d13746f911eff86e73b6a4603f53d17e8f..af39094a3e06235b7ae1534588a30115dbe9d693 100644 (file)
@@ -63,6 +63,7 @@ struct ngx_cached_open_file_s {
     unsigned                 is_file:1;
     unsigned                 is_link:1;
     unsigned                 is_exec:1;
+    unsigned                 is_directio:1;
 
     ngx_event_t             *event;
 };