mirror of
https://github.com/trapexit/mergerfs.git
synced 2025-02-22 04:19:57 +08:00
Fix setting of stat vars for symlinkify
This commit is contained in:
parent
5d3c5002e0
commit
3b0d7fb26e
@ -139,7 +139,7 @@ namespace l
|
||||
return -errno;
|
||||
|
||||
if(symlinkify_ && symlinkify::can_be_symlink(*st_,symlinkify_timeout_))
|
||||
st_->st_mode = symlinkify::convert(st_->st_mode);
|
||||
symlinkify::convert(fullpath,st_);
|
||||
|
||||
fs::inode::calc(fusepath_,st_);
|
||||
|
||||
|
@ -21,6 +21,9 @@
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace symlinkify
|
||||
{
|
||||
static
|
||||
@ -41,9 +44,12 @@ namespace symlinkify
|
||||
|
||||
static
|
||||
inline
|
||||
mode_t
|
||||
convert(const mode_t mode_)
|
||||
void
|
||||
convert(const std::string &target_,
|
||||
struct stat *st_)
|
||||
{
|
||||
return ((mode_ & ~S_IFMT) | S_IFLNK);
|
||||
st_->st_mode = (((st_->st_mode & ~S_IFMT) | S_IFLNK) | 0777);
|
||||
st_->st_size = target_.size();
|
||||
st_->st_blocks = 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user