in fs/httpfs/httpfs.cpp [235:251]
int fstat(struct stat* buf) override {
if (!stat_gettime || photon::now - stat_gettime >= stat_timeout ||
!authorized) {
auto ret = refresh_stat();
if (ret < 0) return ret;
}
if (!authorized) {
errno = EACCES;
return -1;
}
if (exists && buf) {
memcpy(buf, &m_stat, sizeof(struct stat));
} else if (!exists) {
errno = ENOENT;
}
return exists ? 0 : -1;
}