diff --git a/zfs_replication_exporter.go b/zfs_replication_exporter.go index 2feb963..528b23f 100644 --- a/zfs_replication_exporter.go +++ b/zfs_replication_exporter.go @@ -260,18 +260,17 @@ func main() { c, err := ssh.Dial("tcp", host, config) if err != nil { glog.Errorf("Error dialing %q: %v", host, err) - } - if c != nil { + } else { stats, err := fetchSnapshotStats(host, c) if err != nil { glog.Errorf("Failed to update metrics: %v", err) - c.Close() - c = nil + } else { + hss.Lock() + hss.host2Stats[host] = stats + hss.Unlock() + updateMetrics(host, stats) } - hss.Lock() - hss.host2Stats[host] = stats - hss.Unlock() - updateMetrics(host, stats) + c.Close() } time.Sleep(*refreshInterval) }