juicedata/juicefs · error
cannot disable acl
Error message
cannot disable acl
What it means
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.
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
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cmd/config.go:370 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06).
Data as JSON: /api/errors/c227698440d22dcd.
Report an issue: GitHub.
Appendix: source
Thrown at cmd/config.go:370
requireMinClientVersion(new)
}
case "max-client-version":
if new := ctx.String(flag); new != format.MaxClientVersion {
if version.Parse(new) == nil {
return fmt.Errorf("Invalid version string: %s", new)
}
msg.WriteString(fmt.Sprintf("%s: %s -> %s\n", flag, format.MaxClientVersion, new))
format.MaxClientVersion = new
clientVer = true
}
case "enable-acl":
if enableACL := ctx.Bool(flag); enableACL != format.EnableACL {
if enableACL {
msg.WriteString(fmt.Sprintf("%s: %v -> %v\n", flag, format.EnableACL, true))
format.EnableACL = true
requireMinClientVersion("1.2.0-A")
} else {
return errors.New("cannot disable acl")
}
}
case "ranger-rest-url":
if newUrl := ctx.String(flag); newUrl != format.RangerRestUrl {
msg.WriteString(fmt.Sprintf("%s: %s -> %s\n", flag, format.RangerRestUrl, newUrl))
format.RangerRestUrl = newUrl
requireMinClientVersion("1.3.0-A")
}
case "ranger-service":
if newService := ctx.String(flag); newService != format.RangerService {
msg.WriteString(fmt.Sprintf("%s: %s -> %s\n", flag, format.RangerService, newService))
format.RangerService = newService
requireMinClientVersion("1.3.0-A")
}
case "kerberos-config-file":
msg.WriteString(fmt.Sprintf("%s: updated\n", flag))
format.KerbConf = readKerbConf(ctx.String(flag))
requireMinClientVersion("1.4.0-A")View on GitHub (pinned to c9a67b23e8)