Browse Source

fuse_getattr.cpp

getattr-cache
Antonio SJ Musumeci 9 months ago
parent
commit
7ffa8452d9
  1. 22
      src/fuse_getattr.cpp

22
src/fuse_getattr.cpp

@ -98,7 +98,27 @@ namespace l
FollowSymlinks const followsymlinks_) FollowSymlinks const followsymlinks_)
struct stat *st_) struct stat *st_)
{ {
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;
}
} }
static static

Loading…
Cancel
Save