}
char *parse_device_path(void *alloc_ctx,
- const char *dev_str, const char *cur_dev)
+ const char *dev_str, const char __attribute__((unused)) *cur_dev)
{
- char *dev, tmp[256], *enc;
+ char *dev, *enc;
if (is_prefix_ignorecase(dev_str, "uuid=")) {
dev = talloc_asprintf(alloc_ctx, "/dev/disk/by-uuid/%s",
if (is_prefix(dev_str, "/dev/"))
dev_str += strlen("/dev/");
- /* PS3 hack: if we're reading from a ps3dx device, and we refer to
- * a sdx device, remap to ps3dx */
- if (cur_dev && is_prefix(cur_dev, "/dev/ps3d")
- && is_prefix(dev_str, "sd")) {
- snprintf(tmp, 255, "ps3d%s", dev_str + 2);
- dev_str = tmp;
- }
-
return join_paths(alloc_ctx, "/dev", dev_str);
}
char *resolve_path(void *alloc_ctx, const char *path, const char *current_dev)
{
+ static const char s_file[] = "file://";
char *ret;
const char *devpath, *sep;
+ /* test for urls */
+
+ if (!strncasecmp(path, s_file, sizeof(s_file) - 1))
+ path += sizeof(s_file) - 1;
+ else if (strstr(path, "://"))
+ return talloc_strdup(alloc_ctx, path);
+
sep = strchr(path, ':');
if (!sep) {
devpath = mountpoint_for_device(current_dev);