Ejemplo n.º 1
0
CONFUGA_API int confuga_removexattr(confuga *C, const char *path, const char *name)
{
	int rc;
#if defined(HAS_SYS_XATTR_H) || defined(HAS_ATTR_XATTR_H)
	SIMPLE_WRAP_UNIX(_removexattr(path, name), "removexattr(`%s', `%s')", unresolved_path, name);
#else
	return ENOSYS;
#endif
}
Ejemplo n.º 2
0
int
do_removexattr (const char *xattr, const char *path)
{
#if defined(HAVE_REMOVEXATTR)
  return _removexattr (xattr, path, removexattr);
#else
  reply_with_error ("no support for removexattr");
  return -1;
#endif
}
Ejemplo n.º 3
0
    int
    removexattr(const char *fusepath,
                const char *attrname)
    {
      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 -ENOTSUP;

      return _removexattr(*config.action,
                          config.srcmounts,
                          fusepath,
                          attrname);
    }