return -ENOSPC;
}
- char *_path = prepend_source_directory(xattrs_config.source_dir, path);
+ char *_path = prepend_source_directory(path);
#ifdef DEBUG
char *sanitized_value = sanitize_value(value, size);
return -ERANGE;
}
- char *_path = prepend_source_directory(xattrs_config.source_dir, path);
+ char *_path = prepend_source_directory(path);
debug_print("path=%s name=%s size=%zu\n", _path, name, size);
int rtval = binary_storage_read_key(_path, name, value, size);
free(_path);
return -E2BIG;
}
- char *_path = prepend_source_directory(xattrs_config.source_dir, path);
+ char *_path = prepend_source_directory(path);
debug_print("path=%s size=%zu\n", _path, size);
int rtval = binary_storage_list_keys(_path, list, size);
free(_path);
return -ERANGE;
}
- char *_path = prepend_source_directory(xattrs_config.source_dir, path);
+ char *_path = prepend_source_directory(path);
debug_print("path=%s name=%s\n", _path, name);
int rtval = binary_storage_remove_key(_path, name);
free(_path);
.removexattr = xmp_removexattr,
};
-
-int is_directory(const char *path) {
- struct stat statbuf;
- if (stat(path, &statbuf) != 0) {
- fprintf(stderr, "cannot get source directory status: %s\n", path);
- return -1;
- }
-
- if (!S_ISDIR(statbuf.st_mode)) {
- fprintf(stderr, "source directory must be a directory: %s\n", path);
- return -1;
- }
-
- return 1;
-}
-
/**
* Check if the path is valid. If it's a relative path,
* prepend the working path.
case FUSE_OPT_KEY_NONOPT:
if (!xattrs_config.source_dir) {
xattrs_config.source_dir = sanitized_source_directory(arg);
+ xattrs_config.source_dir_size = strlen(xattrs_config.source_dir);
return 0;
}
break;
}
umask(0);
+
+ // disable multi-threading
+ fuse_opt_add_arg(&args, "-s");
return fuse_main(args.argc, args.argv, &xmp_oper, NULL);
}