diff --git a/collector/filesystem_linux.go b/collector/filesystem_linux.go index 127a3be1..1f1929db 100644 --- a/collector/filesystem_linux.go +++ b/collector/filesystem_linux.go @@ -132,6 +132,11 @@ func (c *filesystemCollector) processStat(labels filesystemLabels) filesystemSta } stuckMountsMtx.Unlock() + // Remove options from labels because options will not be used from this point forward + // and keeping them can lead to errors when the same device is mounted to the same mountpoint + // twice, with different options (metrics would be recorded multiple times). + labels.options = "" + if err != nil { labels.deviceError = err.Error() c.logger.Debug("Error on statfs() system call", "rootfs", rootfsFilePath(labels.mountPoint), "err", err)