[PATCH 3 of 5] Open file cache: disable_symlinks with open_file_cache_events
Maxim Dounin
mdounin at mdounin.ru
Sun May 25 21:29:17 UTC 2025
# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1748208427 -10800
# Mon May 26 00:27:07 2025 +0300
# Node ID f84080a83901176c0dd95681b19290f070de045c
# Parent 8cc90a3e3e74d31a92b2732f6f4003684a011fcd
Open file cache: disable_symlinks with open_file_cache_events.
Previously, different disable_symlinks settings were respected when
retrieving a file from open file cache when using periodic retest, but
were ignored with using open_file_cache_events.
Fix is to test disable_symlinks settings in all cases, and retest the
file if requested settings are different from what we already have in
the cache.
diff --git a/src/core/ngx_open_file_cache.c b/src/core/ngx_open_file_cache.c
--- a/src/core/ngx_open_file_cache.c
+++ b/src/core/ngx_open_file_cache.c
@@ -227,15 +227,15 @@ ngx_open_cached_file(ngx_open_file_cache
goto add_event;
}
- if (file->use_event
- || (file->event == NULL
- && (of->uniq == 0 || of->uniq == file->uniq)
- && now - file->created < of->valid
+ if ((file->use_event
+ || (file->event == NULL
+ && (of->uniq == 0 || of->uniq == file->uniq)
+ && now - file->created < of->valid))
#if (NGX_HAVE_OPENAT)
- && of->disable_symlinks == file->disable_symlinks
- && of->disable_symlinks_from == file->disable_symlinks_from
+ && of->disable_symlinks == file->disable_symlinks
+ && of->disable_symlinks_from == file->disable_symlinks_from
#endif
- ))
+ )
{
if (file->err == 0) {
More information about the nginx-devel
mailing list