prometheus/node_exporter · error
--collector.filesystem.ignored-fs-types and…
Error message
--collector.filesystem.ignored-fs-types and --collector.filesystem.fs-types-exclude are mutually exclusive
What it means
Validation guard in newFSTypeFilter: collector startup fails when the deprecated --collector.filesystem.ignored-fs-types flag and its replacement --collector.filesystem.fs-types-exclude are both set, because two overlapping fs-type exclusion regexes would be ambiguous.
Solutions
- Remove --collector.filesystem.ignored-fs-types and use only --collector.filesystem.fs-types-exclude.
- Migrate by moving the old regex value into fs-types-exclude verbatim, then drop the deprecated flag.
- If only the deprecated flag is set (fs-types-exclude unset), no error occurs; only fix the flag combination that sets both.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at collector/filesystem_common.go:278 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of prometheus/node_exporter@17ddd77c59 (2026-09-07).
Data as JSON: /api/errors/8eaed193936e8621.
Report an issue: GitHub.
Appendix: source
Thrown at collector/filesystem_common.go:278
}
if *mountPointsExclude != "" {
logger.Info("Parsed flag --collector.filesystem.mount-points-exclude", "flag", *mountPointsExclude)
}
if *mountPointsInclude != "" {
logger.Info("Parsed flag --collector.filesystem.mount-points-include", "flag", *mountPointsInclude)
}
return newDeviceFilter(*mountPointsExclude, *mountPointsInclude), nil
}
func newFSTypeFilter(logger *slog.Logger) (deviceFilter, error) {
if *oldFSTypesExcluded != "" {
if !fsTypesExcludeSet {
logger.Warn("--collector.filesystem.ignored-fs-types is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.fs-types-exclude")
*fsTypesExclude = *oldFSTypesExcluded
} else {
return deviceFilter{}, errors.New("--collector.filesystem.ignored-fs-types and --collector.filesystem.fs-types-exclude are mutually exclusive")
}
}
if *fsTypesInclude != "" && !fsTypesExcludeSet {
logger.Debug("fs-types-exclude flag not set when fs-types-include flag is set, assuming include is desired")
*fsTypesExclude = ""
}
if *fsTypesExclude != "" && *fsTypesInclude != "" {
return deviceFilter{}, errors.New("--collector.filesystem.fs-types-exclude and --collector.filesystem.fs-types-include are mutually exclusive")
}
if *fsTypesExclude != "" {
logger.Info("Parsed flag --collector.filesystem.fs-types-exclude", "flag", *fsTypesExclude)
}
if *fsTypesInclude != "" {
logger.Info("Parsed flag --collector.filesystem.fs-types-include", "flag", *fsTypesInclude)
}View on GitHub (pinned to 17ddd77c59)