diff -Naurp pcp-3.11.3.orig/src/pmdas/linux/filesys.c pcp-3.11.3/src/pmdas/linux/filesys.c
--- pcp-3.11.3.orig/src/pmdas/linux/filesys.c 2016-02-29 11:53:04.000000000 +1100
+++ pcp-3.11.3/src/pmdas/linux/filesys.c 2016-07-07 16:46:00.633663707 +1000
@@ -1,7 +1,7 @@
/*
* Linux Filesystem Cluster
*
- * Copyright (c) 2014-2015 Red Hat.
+ * Copyright (c) 2014-2016 Red Hat.
* Copyright (c) 2000,2004,2007-2008 Silicon Graphics, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify it
@@ -90,8 +90,12 @@ refresh_filesys(pmInDom filesys_indom, p
}
else if (strncmp(device, "/dev", 4) != 0)
continue;
- if (realpath(device, src) != NULL)
- device = src;
+
+ /* keep dm and md persistent names, RHBZ#1349932 */
+ if (strncmp(device, "/dev/mapper", 11) != 0 && strncmp(device, "/dev/md", 7) != 0) {
+ if (realpath(device, src) != NULL)
+ device = src;
+ }
sts = pmdaCacheLookupName(indom, device, NULL, (void **)&fs);
if (sts == PMDA_CACHE_ACTIVE) /* repeated line in /proc/mounts? */
diff -Naurp pcp-3.11.3.orig/src/pmdas/mounts/mounts.c pcp-3.11.3/src/pmdas/mounts/mounts.c
--- pcp-3.11.3.orig/src/pmdas/mounts/mounts.c 2016-02-29 11:53:04.000000000 +1100
+++ pcp-3.11.3/src/pmdas/mounts/mounts.c 2016-07-07 16:46:00.633663707 +1000
@@ -1,7 +1,7 @@
/*
* Mounts PMDA, info on current tracked filesystem mounts
*
- * Copyright (c) 2012,2015 Red Hat.
+ * Copyright (c) 2012,2015-2016 Red Hat.
* Copyright (c) 2001,2003,2004 Silicon Graphics, Inc. All Rights Reserved.
* Copyright (c) 2001 Alan Bailey (bailey@mcs.anl.gov or abailey@ncsa.uiuc.edu)
* All rights reserved.
@@ -323,7 +323,8 @@ mounts_refresh_mounts(void)
if (strcmp(path, mounts[item].i_name) != 0)
continue;
strncpy(mp->type, type, MAXFSTYPE-1);
- if (realpath(device, mp->device) == NULL)
+ /* don't resolve dm symlinks - we want the persistent device name, not the dm-* name */
+ if (strncmp(device, "/dev/mapper", 11) == 0 || realpath(device, mp->device) == NULL)
strncpy(mp->device, device, MAXPATHLEN-1);
strncpy(mp->options, options, MAXOPTSTR-1);
mp->flags = MOUNTS_FLAG_UP;