{"record":{"id":"c227698440d22dcd","repo":"juicedata/juicefs","slug":"cannot-disable-acl","errorCode":null,"errorMessage":"cannot disable acl","messagePattern":"cannot disable acl","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/config.go","lineNumber":370,"sourceCode":"\t\t\t\trequireMinClientVersion(new)\n\t\t\t}\n\t\tcase \"max-client-version\":\n\t\t\tif new := ctx.String(flag); new != format.MaxClientVersion {\n\t\t\t\tif version.Parse(new) == nil {\n\t\t\t\t\treturn fmt.Errorf(\"Invalid version string: %s\", new)\n\t\t\t\t}\n\t\t\t\tmsg.WriteString(fmt.Sprintf(\"%s: %s -> %s\\n\", flag, format.MaxClientVersion, new))\n\t\t\t\tformat.MaxClientVersion = new\n\t\t\t\tclientVer = true\n\t\t\t}\n\t\tcase \"enable-acl\":\n\t\t\tif enableACL := ctx.Bool(flag); enableACL != format.EnableACL {\n\t\t\t\tif enableACL {\n\t\t\t\t\tmsg.WriteString(fmt.Sprintf(\"%s: %v -> %v\\n\", flag, format.EnableACL, true))\n\t\t\t\t\tformat.EnableACL = true\n\t\t\t\t\trequireMinClientVersion(\"1.2.0-A\")\n\t\t\t\t} else {\n\t\t\t\t\treturn errors.New(\"cannot disable acl\")\n\t\t\t\t}\n\t\t\t}\n\t\tcase \"ranger-rest-url\":\n\t\t\tif newUrl := ctx.String(flag); newUrl != format.RangerRestUrl {\n\t\t\t\tmsg.WriteString(fmt.Sprintf(\"%s: %s -> %s\\n\", flag, format.RangerRestUrl, newUrl))\n\t\t\t\tformat.RangerRestUrl = newUrl\n\t\t\t\trequireMinClientVersion(\"1.3.0-A\")\n\t\t\t}\n\t\tcase \"ranger-service\":\n\t\t\tif newService := ctx.String(flag); newService != format.RangerService {\n\t\t\t\tmsg.WriteString(fmt.Sprintf(\"%s: %s -> %s\\n\", flag, format.RangerService, newService))\n\t\t\t\tformat.RangerService = newService\n\t\t\t\trequireMinClientVersion(\"1.3.0-A\")\n\t\t\t}\n\t\tcase \"kerberos-config-file\":\n\t\t\tmsg.WriteString(fmt.Sprintf(\"%s: updated\\n\", flag))\n\t\t\tformat.KerbConf = readKerbConf(ctx.String(flag))\n\t\t\trequireMinClientVersion(\"1.4.0-A\")","sourceCodeStart":352,"sourceCodeEnd":388,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/cmd/config.go#L352-L388","documentation":"Returned by `juicefs config` when the user attempts to turn off enable-acl on a volume where ACL support was previously enabled. POSIX ACL data may already exist in the metadata, so the CLI refuses the downgrade instead of silently orphaning ACL entries.","triggerScenarios":"Thrown at cmd/config.go:370 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove all ACLs (setfacl -b) from every file first, then retry the config change","Keep ACLs enabled, or recreate the volume if ACL support is truly unwanted"],"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-14T05:17:10.506Z"}