{"record":{"id":"8eaed193936e8621","repo":"prometheus/node_exporter","slug":"collector-filesystem-ignored-fs-types-and-coll","errorCode":null,"errorMessage":"--collector.filesystem.ignored-fs-types and --collector.filesystem.fs-types-exclude are mutually exclusive","messagePattern":"--collector\\.filesystem\\.ignored-fs-types and --collector\\.filesystem\\.fs-types-exclude are mutually exclusive","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"collector/filesystem_common.go","lineNumber":278,"sourceCode":"\t}\n\n\tif *mountPointsExclude != \"\" {\n\t\tlogger.Info(\"Parsed flag --collector.filesystem.mount-points-exclude\", \"flag\", *mountPointsExclude)\n\t}\n\tif *mountPointsInclude != \"\" {\n\t\tlogger.Info(\"Parsed flag --collector.filesystem.mount-points-include\", \"flag\", *mountPointsInclude)\n\t}\n\n\treturn newDeviceFilter(*mountPointsExclude, *mountPointsInclude), nil\n}\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}","sourceCodeStart":260,"sourceCodeEnd":296,"githubUrl":"https://github.com/prometheus/node_exporter/blob/17ddd77c59ba27e1508e9f7894b1e55b44d6aed3/collector/filesystem_common.go#L260-L296","documentation":"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.","triggerScenarios":"Thrown at collector/filesystem_common.go:278 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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."],"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"}