Compare commits
4 Commits
1fa3830dec
...
1a20318654
Author | SHA1 | Date |
---|---|---|
Fufu Fang | 1a20318654 | |
Fufu Fang | 9a7eabd170 | |
Fufu Fang | 01fd2e9559 | |
Fufu Fang | be666d72e9 |
|
@ -163,12 +163,15 @@ static int Meta_read(Cache *cf)
|
|||
return EIO;
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: This appears to be broken
|
||||
*/
|
||||
if (sizeof(long) != fread(&cf->time, sizeof(long), 1, fp) ||
|
||||
sizeof(off_t) != fread(&cf->content_length, sizeof(off_t), 1, fp) ||
|
||||
sizeof(int) != fread(&cf->blksz, sizeof(int), 1, fp) ||
|
||||
sizeof(long) != fread(&cf->segbc, sizeof(long), 1, fp) ||
|
||||
ferror(fp)) {
|
||||
lprintf(error, "error reading core metadata!\n");
|
||||
lprintf(error, "error reading core metadata %s!\n", cf->path);
|
||||
return EIO;
|
||||
}
|
||||
|
||||
|
@ -541,7 +544,9 @@ static void Cache_free(Cache *cf)
|
|||
static int Cache_exist(const char *fn)
|
||||
{
|
||||
char *metafn = path_append(META_DIR, fn);
|
||||
lprintf(debug, "metafn: %s\n", metafn);
|
||||
char *datafn = path_append(DATA_DIR, fn);
|
||||
lprintf(debug, "datafn: %s\n", datafn);
|
||||
/*
|
||||
* access() returns 0 on success
|
||||
*/
|
||||
|
@ -551,11 +556,13 @@ static int Cache_exist(const char *fn)
|
|||
if (no_meta ^ no_data) {
|
||||
lprintf(warning, "Cache file partially missing.\n");
|
||||
if (no_meta) {
|
||||
lprintf(debug, "Unlinking datafn: %s\n", datafn);
|
||||
if (unlink(datafn)) {
|
||||
lprintf(fatal, "unlink(): %s\n", strerror(errno));
|
||||
}
|
||||
}
|
||||
if (no_data) {
|
||||
lprintf(debug, "Unlinking metafn: %s\n", metafn);
|
||||
if (unlink(metafn)) {
|
||||
lprintf(fatal, "unlink(): %s\n", strerror(errno));
|
||||
}
|
||||
|
|
|
@ -100,14 +100,18 @@ static int fs_open(const char *path, struct fuse_file_info *fi)
|
|||
return -EROFS;
|
||||
}
|
||||
if (CACHE_SYSTEM_INIT) {
|
||||
lprintf(debug, "Cache_open(%s);\n", path);
|
||||
fi->fh = (uint64_t) Cache_open(path);
|
||||
if (!fi->fh) {
|
||||
/*
|
||||
* The link clearly exists, the cache cannot be opened, attempt
|
||||
* cache creation
|
||||
*/
|
||||
lprintf(debug, "Cache_delete(%s);\n", path);
|
||||
Cache_delete(path);
|
||||
lprintf(debug, "Cache_create(%s);\n", path);
|
||||
Cache_create(path);
|
||||
lprintf(debug, "Cache_open(%s);\n", path);
|
||||
fi->fh = (uint64_t) Cache_open(path);
|
||||
/*
|
||||
* The cache definitely cannot be opened for some reason.
|
||||
|
@ -117,6 +121,7 @@ static int fs_open(const char *path, struct fuse_file_info *fi)
|
|||
* percentage encoded
|
||||
*/
|
||||
if (!fi->fh) {
|
||||
lprintf(fatal, "Cache file creation failure for %s.\n", path);
|
||||
return -ENOENT;
|
||||
}
|
||||
}
|
||||
|
@ -145,7 +150,7 @@ fs_readdir(const char *path, void *buf, fuse_fill_dir_t dir_add,
|
|||
|
||||
#ifdef DEBUG
|
||||
static int j = 0;
|
||||
lprintf(debug, "\n!!!!Calling fs_readdir for the %d time!!!!\n", j)
|
||||
lprintf(debug, "!!!!Calling fs_readdir for the %d time!!!!\n", j);
|
||||
j++;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -646,7 +646,7 @@ LinkTable *LinkTable_new(const char *url)
|
|||
|
||||
#ifdef DEBUG
|
||||
static int i = 0;
|
||||
lprintf(debug, "\n!!!!Calling LinkTable_new for the %d time!!!!\n", i)
|
||||
lprintf(debug, "!!!!Calling LinkTable_new for the %d time!!!!\n", i);
|
||||
i++;
|
||||
#endif
|
||||
|
||||
|
@ -806,7 +806,7 @@ LinkTable *path_to_Link_LinkTable_new(const char *path)
|
|||
* TODO: Save the updated LinkTable
|
||||
*/
|
||||
lprintf(info, "time_now: %d, index_time: %d\n", time_now,
|
||||
next_table->index_time)
|
||||
next_table->index_time);
|
||||
lprintf(info, "diff: %d, limit: %d\n", time_now - next_table->index_time,
|
||||
CONFIG.refresh_timeout);
|
||||
lprintf(info, "Refreshing LinkTable for %s\n", path);
|
||||
|
|
|
@ -15,7 +15,11 @@ int log_level_init()
|
|||
if (env) {
|
||||
return atoi(env);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
return DEFAULT_LOG_LEVEL | debug;
|
||||
#else
|
||||
return DEFAULT_LOG_LEVEL;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#ifndef LOG_H
|
||||
#define LOG_H
|
||||
|
||||
#define DEBUG 0
|
||||
/**
|
||||
* \brief Log types
|
||||
*/
|
||||
|
@ -10,7 +9,7 @@ typedef enum {
|
|||
error = 1 << 1,
|
||||
warning = 1 << 2,
|
||||
info = 1 << 3,
|
||||
debug = DEBUG << 4,
|
||||
debug = 1 << 4,
|
||||
link_lock_debug = 1 << 5,
|
||||
network_lock_debug = 1 << 6,
|
||||
cache_lock_debug = 1 << 7,
|
||||
|
@ -21,7 +20,7 @@ typedef enum {
|
|||
/**
|
||||
* \brief The default log level
|
||||
*/
|
||||
#define DEFAULT_LOG_LEVEL fatal | error | warning | info | debug
|
||||
#define DEFAULT_LOG_LEVEL fatal | error | warning | info
|
||||
|
||||
/**
|
||||
* \brief Get the log level from the environment.
|
||||
|
@ -40,7 +39,7 @@ void log_printf(LogType type, const char *file, const char *func, int line,
|
|||
* \details This macro automatically prints out the filename and line number
|
||||
*/
|
||||
#define lprintf(type, ...) \
|
||||
log_printf(type, __FILE__, __func__, __LINE__, __VA_ARGS__);
|
||||
log_printf(type, __FILE__, __func__, __LINE__, __VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \brief Print the version information for HTTPDirFS
|
||||
|
|
Loading…
Reference in New Issue