{"record":{"id":"cddf32bf1b1b9cee","repo":"prometheus/node_exporter","slug":"collector-filesystem-fs-types-exclude-and-coll","errorCode":null,"errorMessage":"--collector.filesystem.fs-types-exclude and --collector.filesystem.fs-types-include are mutually exclusive","messagePattern":"--collector\\.filesystem\\.fs-types-exclude and --collector\\.filesystem\\.fs-types-include are mutually exclusive","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"collector/filesystem_common.go","lineNumber":288,"sourceCode":"}\n\nfunc newFSTypeFilter(logger *slog.Logger) (deviceFilter, error) {\n\tif *oldFSTypesExcluded != \"\" {\n\t\tif !fsTypesExcludeSet {\n\t\t\tlogger.Warn(\"--collector.filesystem.ignored-fs-types is DEPRECATED and will be removed in 2.0.0, use --collector.filesystem.fs-types-exclude\")\n\t\t\t*fsTypesExclude = *oldFSTypesExcluded\n\t\t} else {\n\t\t\treturn deviceFilter{}, errors.New(\"--collector.filesystem.ignored-fs-types and --collector.filesystem.fs-types-exclude are mutually exclusive\")\n\t\t}\n\t}\n\n\tif *fsTypesInclude != \"\" && !fsTypesExcludeSet {\n\t\tlogger.Debug(\"fs-types-exclude flag not set when fs-types-include flag is set, assuming include is desired\")\n\t\t*fsTypesExclude = \"\"\n\t}\n\n\tif *fsTypesExclude != \"\" && *fsTypesInclude != \"\" {\n\t\treturn deviceFilter{}, errors.New(\"--collector.filesystem.fs-types-exclude and --collector.filesystem.fs-types-include are mutually exclusive\")\n\t}\n\n\tif *fsTypesExclude != \"\" {\n\t\tlogger.Info(\"Parsed flag --collector.filesystem.fs-types-exclude\", \"flag\", *fsTypesExclude)\n\t}\n\tif *fsTypesInclude != \"\" {\n\t\tlogger.Info(\"Parsed flag --collector.filesystem.fs-types-include\", \"flag\", *fsTypesInclude)\n\t}\n\n\treturn newDeviceFilter(*fsTypesExclude, *fsTypesInclude), nil\n}\n","sourceCodeStart":270,"sourceCodeEnd":300,"githubUrl":"https://github.com/prometheus/node_exporter/blob/17ddd77c59ba27e1508e9f7894b1e55b44d6aed3/collector/filesystem_common.go#L270-L300","documentation":"Validation guard in newFSTypeFilter: both --collector.filesystem.fs-types-exclude and --collector.filesystem.fs-types-include were supplied. Exclude and include filters are mutually exclusive; the collector cannot decide whether inclusion takes precedence, so it aborts construction of the filesystem collector.","triggerScenarios":"Thrown at collector/filesystem_common.go:288 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Choose one mode: drop fs-types-include if you want to exclude some types, or drop fs-types-exclude if you want to whitelist types.","If both behaviors are needed, run a second node_exporter instance with a different web.listen-address and one filter each.","Audit deployment tooling (Helm charts, systemd units, scripts) that may append both flags unconditionally."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"17ddd77c59ba27e1508e9f7894b1e55b44d6aed3","analyzedAt":"2026-09-07T17:54:06.211Z","contentChangedAt":"2026-09-07T17:54:06.211Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}