mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2025-01-11 08:25:38 +00:00
Merge pull request #351 from ggtakec/master
Check cache dirctory path and attributes - #347
This commit is contained in:
commit
87faed0d04
@ -1584,6 +1584,16 @@ bool FdManager::SetCacheDir(const char* dir)
|
|||||||
if(!dir || '\0' == dir[0]){
|
if(!dir || '\0' == dir[0]){
|
||||||
cache_dir = "";
|
cache_dir = "";
|
||||||
}else{
|
}else{
|
||||||
|
// check the directory
|
||||||
|
struct stat st;
|
||||||
|
if(0 != stat(dir, &st)){
|
||||||
|
S3FS_PRN_ERR("could not access to cache directory(%s) by errno(%d).", cache_dir.c_str(), errno);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!S_ISDIR(st.st_mode)){
|
||||||
|
S3FS_PRN_ERR("the cache directory(%s) is not directory.", cache_dir.c_str());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
cache_dir = dir;
|
cache_dir = dir;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -4253,7 +4253,10 @@ static int my_fuse_opt_proc(void* data, const char* arg, int key, struct fuse_ar
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(0 == STR2NCMP(arg, "use_cache=")){
|
if(0 == STR2NCMP(arg, "use_cache=")){
|
||||||
FdManager::SetCacheDir(strchr(arg, '=') + sizeof(char));
|
if(!FdManager::SetCacheDir(strchr(arg, '=') + sizeof(char))){
|
||||||
|
S3FS_PRN_EXIT("cache directory(%s) is specified, but it does not exist or is not directory.", strchr(arg, '=') + sizeof(char));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(0 == strcmp(arg, "del_cache")){
|
if(0 == strcmp(arg, "del_cache")){
|
||||||
|
Loading…
Reference in New Issue
Block a user