fscache: make fscache_enabled() public

Make fscache_enabled() function public rather than static.
Remove unneeded fscache_is_enabled() function.
Change is_fscache_enabled() macro to call fscache_enabled().

is_fscache_enabled() now takes a pathname so that the answer
is more precise and mean "is fscache enabled for this pathname",
since fscache only stores repo-relative paths and not absolute
paths, we can avoid attempting lookups for absolute paths.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
This commit is contained in:
Jeff Hostetler 2017-12-20 10:43:41 -05:00 committed by Johannes Schindelin
parent 101718ffd0
commit b36f5300a9
3 changed files with 4 additions and 9 deletions

View File

@ -12,11 +12,6 @@ static struct hashmap map;
static CRITICAL_SECTION mutex;
static struct trace_key trace_fscache = TRACE_KEY_INIT(FSCACHE);
int fscache_is_enabled(void)
{
return enabled;
}
/*
* An entry in the file system cache. Used for both entire directory listings
* and file entries.
@ -278,7 +273,7 @@ static void fscache_clear(void)
/*
* Checks if the cache is enabled for the given path.
*/
static inline int fscache_enabled(const char *path)
int fscache_enabled(const char *path)
{
return enabled > 0 && !is_absolute_path(path);
}

View File

@ -4,8 +4,8 @@
int fscache_enable(int enable);
#define enable_fscache(x) fscache_enable(x)
int fscache_is_enabled(void);
#define is_fscache_enabled() (fscache_is_enabled())
int fscache_enabled(const char *path);
#define is_fscache_enabled(path) fscache_enabled(path)
DIR *fscache_opendir(const char *dir);
int fscache_lstat(const char *file_name, struct stat *buf);

View File

@ -1038,7 +1038,7 @@ static inline int is_missing_file_error(int errno_)
#endif
#ifndef is_fscache_enabled
#define is_fscache_enabled() (0)
#define is_fscache_enabled(path) (0)
#endif
int cmd_main(int, const char **);