From 0aff7a0bc15670cfa5d71e5ce8cb50a61057a6d2 Mon Sep 17 00:00:00 2001
From: Cameron Sparr <cameronsparr@gmail.com>
Date: Tue, 31 May 2016 16:58:41 +0100
Subject: [PATCH] Disk plugin: return immediately if usage fails

closes #1297
---
 CHANGELOG.md                | 1 +
 plugins/inputs/system/ps.go | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 71d70e97..cc8f5a34 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -44,6 +44,7 @@ time before a new metric is included by the plugin.
 - [#1258](https://github.com/influxdata/telegraf/pull/1258): Fix potential kernel plugin integer parse error.
 - [#1268](https://github.com/influxdata/telegraf/pull/1268): Fix potential influxdb input type assertion panic.
 - [#1283](https://github.com/influxdata/telegraf/pull/1283): Still send processes metrics if a process exited during metric collection.
+- [#1297](https://github.com/influxdata/telegraf/issues/1297): disk plugin panic when usage grab fails.
 
 ## v0.13.1 [2016-05-24]
 
diff --git a/plugins/inputs/system/ps.go b/plugins/inputs/system/ps.go
index 23bfe162..3ed123d1 100644
--- a/plugins/inputs/system/ps.go
+++ b/plugins/inputs/system/ps.go
@@ -84,10 +84,10 @@ func (s *systemPS) DiskUsage(
 		mountpoint := os.Getenv("HOST_MOUNT_PREFIX") + p.Mountpoint
 		if _, err := os.Stat(mountpoint); err == nil {
 			du, err := disk.Usage(mountpoint)
-			du.Path = p.Mountpoint
 			if err != nil {
 				return nil, err
 			}
+			du.Path = p.Mountpoint
 			// If the mount point is a member of the exclude set,
 			// don't gather info on it.
 			_, ok := fstypeExcludeSet[p.Fstype]
-- 
GitLab