changeset 4100:efeee901439a

Bugfix: open_file_cache did not update file info on retest. If file inode was not changed, cached file information was not updated on retest. As a result stale information might be cached forever if file attributes was changed and/or file was extended. This fix also makes obsolete r4077 change of is_directio flag handling, since this flag is updated together with other file information.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Sep 2011 14:12:35 +0000
parents 9ee6944590c0
children 31cf2902de60
files src/core/ngx_open_file_cache.c
diffstat 1 files changed, 1 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_open_file_cache.c
+++ b/src/core/ngx_open_file_cache.c
@@ -284,15 +284,11 @@ ngx_open_cached_file(ngx_open_file_cache
 
             if (of->uniq == file->uniq) {
 
-                file->count++;
-
                 if (file->event) {
                     file->use_event = 1;
                 }
 
-                of->is_directio = file->is_directio;
-
-                goto renew;
+                goto update;
             }
 
             /* file was changed */
@@ -396,8 +392,6 @@ update:
         }
     }
 
-renew:
-
     file->created = now;
 
 found: