int getxattr(const char *fusepath, const char *attrname, char *buf, size_t count) { const fuse_context *fc = fuse_get_context(); const Config &config = Config::get(fc); if(fusepath == config.controlfile) return _getxattr_controlfile(config, attrname, buf, count); const ugid::SetResetGuard ugid(fc->uid,fc->gid); const rwlock::ReadGuard readlock(&config.srcmountslock); return _getxattr(config.getxattr, config.srcmounts, config.minfreespace, fusepath, attrname, buf, count); }
int getxattr(const char *fusepath, const char *attrname, char *buf, size_t count) { const struct fuse_context *fc = fuse_get_context(); const config::Config &config = config::get(); const ugid::SetResetGuard ugid(fc->uid,fc->gid); if(fusepath == config.controlfile) return _getxattr_controlfile(config, attrname, buf, count); return _getxattr(*config.search, config.srcmounts, fusepath, attrname, buf, count); }