From ef1f33b0db5a69afeb4272668089ed5f760aea68 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Fri, 22 Apr 2011 10:06:43 +0000 Subject: Use more precise stat.st_blocks to account cache size on Unix instead of file length rounded to a file system block size. There is no similar way on Windows, so rounding to a cache->bsize is kept. --- src/core/ngx_open_file_cache.c | 2 ++ src/core/ngx_open_file_cache.h | 1 + 2 files changed, 3 insertions(+) (limited to 'src/core') diff --git a/src/core/ngx_open_file_cache.c b/src/core/ngx_open_file_cache.c index a9c45324d..a70385c35 100644 --- a/src/core/ngx_open_file_cache.c +++ b/src/core/ngx_open_file_cache.c @@ -155,6 +155,7 @@ ngx_open_cached_file(ngx_open_file_cache_t *cache, ngx_str_t *name, of->uniq = ngx_file_uniq(&fi); of->mtime = ngx_file_mtime(&fi); of->size = ngx_file_size(&fi); + of->fs_size = ngx_file_fs_size(&fi); of->is_dir = ngx_is_dir(&fi); of->is_file = ngx_is_file(&fi); of->is_link = ngx_is_link(&fi); @@ -557,6 +558,7 @@ done: of->uniq = ngx_file_uniq(&fi); of->mtime = ngx_file_mtime(&fi); of->size = ngx_file_size(&fi); + of->fs_size = ngx_file_fs_size(&fi); of->is_dir = ngx_is_dir(&fi); of->is_file = ngx_is_file(&fi); of->is_link = ngx_is_link(&fi); diff --git a/src/core/ngx_open_file_cache.h b/src/core/ngx_open_file_cache.h index f56dfcc83..638bc5dd1 100644 --- a/src/core/ngx_open_file_cache.h +++ b/src/core/ngx_open_file_cache.h @@ -20,6 +20,7 @@ typedef struct { ngx_file_uniq_t uniq; time_t mtime; off_t size; + off_t fs_size; off_t directio; size_t read_ahead; -- cgit