{"record":{"id":"dcb21d63251dc0ba","repo":"juicedata/juicefs","slug":"no-volume-provided","errorCode":null,"errorMessage":"no volume provided","messagePattern":"no volume provided","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/object/gluster.go","lineNumber":284,"sourceCode":"func (g *gluster) Chmod(path string, mode os.FileMode) error {\n\treturn g.vol().Chmod(path, mode)\n}\n\nfunc (g *gluster) Chown(path string, owner, group string) error {\n\treturn notSupported\n}\n\nfunc newGluster(endpoint, ak, sk, token string) (ObjectStorage, error) {\n\tif !strings.Contains(endpoint, \"://\") {\n\t\tendpoint = fmt.Sprintf(\"gluster://%s\", endpoint)\n\t}\n\turi, err := url.ParseRequestURI(endpoint)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Invalid endpoint %s: %s\", endpoint, err)\n\t}\n\tps := strings.Split(uri.Path, \"/\")\n\tif len(ps) == 1 {\n\t\treturn nil, fmt.Errorf(\"no volume provided\")\n\t}\n\tname := ps[1]\n\t// multiple clients for possible performance improvement\n\tvar size int\n\tif ssize := os.Getenv(\"JFS_NUM_GLUSTER_CLIENTS\"); ssize != \"\" {\n\t\tsize, _ = strconv.Atoi(ssize)\n\t\tif size > 8 {\n\t\t\tsize = 8\n\t\t}\n\t}\n\tif size < 1 {\n\t\tsize = 1\n\t}\n\t// logging\n\tlevel := gfapi.LogInfo\n\tif slevel := os.Getenv(\"JFS_GLUSTER_LOG_LEVEL\"); slevel != \"\" {\n\t\tswitch strings.ToUpper(slevel) {\n\t\tcase \"ERROR\":","sourceCodeStart":266,"sourceCodeEnd":302,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/object/gluster.go#L266-L302","documentation":"Splitting the endpoint URI's path yielded no components beyond the root, meaning the gluster:// URL names no volume. GlusterFS requires a volume name in the path (gluster://host/volume); this validation guard rejects endpoints that only specify hosts.","triggerScenarios":"Thrown at pkg/object/gluster.go:284 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Append the volume name to the endpoint, e.g. gluster://host/myvol"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c9a67b23e8e08ec23ec331aa6f1675e2319e921c","analyzedAt":"2026-09-06T17:55:48.476Z","contentChangedAt":"2026-09-06T17:55:48.476Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}