diff -up sos-2.2/sos/plugins/gluster.py.orig ./sos/plugins/gluster.py
--- sos-2.2/sos/plugins/gluster.py.orig	2012-03-08 13:31:14.393436730 +0000
+++ sos-2.2/sos/plugins/gluster.py	2012-03-08 13:30:55.024434492 +0000
@@ -0,0 +1,84 @@
+### This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+import os.path
+import sos.plugintools
+
+class gluster(sos.plugintools.PluginBase):
+    '''gluster related information'''
+
+    def defaultenabled(self):
+        return True
+
+    def get_volume_names(self, volume_file):
+        """Return a dictionary for which key are volume names according to the
+        output of gluster volume info stored in volume_file.
+        """
+        out=[]
+        fp = open(volume_file, 'r')
+        for line in fp.readlines():
+            if not line.startswith("Volume Name:"):
+                continue
+            volname = line[12:-1]
+            out.append(volname)
+        fp.close()
+        return out
+
+    def checkenabled(self):
+        packages = ["glusterfs", "glusterfs-core"]
+        return os.path.exists("/etc/glusterd")               \
+            or os.path.exists("/var/lib/glusterd")           \
+            or sos.plugintools.PluginBase.checkenabled(self)
+
+    def setup(self):
+        self.collectExtOutput("/usr/sbin/gluster peer status")
+
+        # check package version handling rename of glusterfs-core -> glusterfs
+        pkg = self.policy().pkgByName("glusterfs-core");
+        if not pkg:
+            pkg = self.policy().pkgByName("glusterfs");
+            # need to handle "no package" case for users who enable with -e/-o
+            if not pkg:
+                return
+
+        gluster_major = int((pkg["version"])[:1])
+        gluster_minor = int((pkg["version"])[2:3])
+        if (gluster_major == 3) and (gluster_minor <= 2):
+            self.addCopySpec("/etc/glusterd/")
+            self.addForbiddenPath("/etc/glusterd/geo-replication/secret.pem")
+        else:
+            self.addCopySpec("/var/lib/glusterd/")
+
+        # glusterfs-server rpm scripts stash this on migration to 3.3.x
+        self.addCopySpec("/etc/glusterd.rpmsave")
+
+        # common to all versions
+        self.addCopySpec("/etc/glusterfs")
+
+        # This will fail on <3.3.x but has no harmful side-effects 
+        volume_file = self.collectOutputNow("/usr/sbin/gluster volume info",
+                        "gluster_volume_info")
+        if volume_file:
+            for volname in self.get_volume_names(volume_file):
+                self.collectExtOutput("gluster volume statedump %s" % volname)
+                self.collectExtOutput("gluster volume status %s detail" % volname)
+                self.collectExtOutput("gluster volume status %s clients" % volname)
+                self.collectExtOutput("gluster volume status %s mem" % volname)
+                self.collectExtOutput("gluster volume status %s callpool" % volname)
+                self.collectExtOutput("gluster volume status %s inode" % volname)
+                self.collectExtOutput("gluster volume status %s fd" % volname)
+
+        self.collectExtOutput("gluster volume status")
+        # collect this last as some of the other actions create log entries
+        self.addCopySpec("/var/log/glusterfs")
diff -up sos-2.2/sos/plugins/gluster.py.orig sos-2.2/sos/plugins/gluster.py
--- sos-2.2/sos/plugins/gluster.py.orig	2012-05-02 14:09:06.768072384 +0100
+++ sos-2.2/sos/plugins/gluster.py	2012-05-02 14:10:10.568449078 +0100
@@ -73,6 +73,7 @@ class gluster(sos.plugintools.PluginBase
         if volume_file:
             for volname in self.get_volume_names(volume_file):
                 self.collectExtOutput("gluster volume statedump %s" % volname)
+                self.collectExtOutput("gluster volume statedump %s nfs" % volname)
                 self.collectExtOutput("gluster volume status %s detail" % volname)
                 self.collectExtOutput("gluster volume status %s clients" % volname)
                 self.collectExtOutput("gluster volume status %s mem" % volname)