Browse Source

fuse_getattr.cpp

getattr-cache
Antonio SJ Musumeci 10 months ago
parent
commit
a87b8fdb4b
  1. 23
      src/fuse_getattr.cpp

23
src/fuse_getattr.cpp

@ -153,28 +153,7 @@ namespace l
fullpath = fs::path::make(i->second,fusepath_);
switch(followsymlinks_)
{
case FollowSymlinks::ENUM::NEVER:
rv = fs::lstat(fullpath,st_);
break;
case FollowSymlinks::ENUM::DIRECTORY:
rv = fs::lstat(fullpath,st_);
if(S_ISLNK(st_->st_mode))
l::set_stat_if_leads_to_dir(fullpath,st_);
break;
case FollowSymlinks::ENUM::REGULAR:
rv = fs::lstat(fullpath,st_);
if(S_ISLNK(st_->st_mode))
l::set_stat_if_leads_to_reg(fullpath,st_);
break;
case FollowSymlinks::ENUM::ALL:
rv = fs::stat(fullpath,st_);
if(rv != 0)
rv = fs::lstat(fullpath,st_);
break;
}
rv = l::getattr(fullpath,followsymlinks_,st_);
if(rv == -1)
{
cache.erase(fusepath_);

Loading…
Cancel
Save