diff -bur sos-1.7/lib/sos/plugins/devicemapper.py /home/shnavid/projects/sos/lib/sos/plugins/devicemapper.py --- sos-1.7/lib/sos/plugins/devicemapper.py 2007-08-14 18:01:29.000000000 +0100 +++ /home/shnavid/projects/sos/lib/sos/plugins/devicemapper.py 2007-09-04 14:02:03.000000000 +0100 @@ -13,19 +13,27 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. import sos.plugintools +import os +from sos.helpers import sosGetCommandOutput class devicemapper(sos.plugintools.PluginBase): """device-mapper related information (dm, lvm, multipath) """ + + optionList = [("lvmdump", 'collect raw metadata from PVs', 'slow', False)] + + def do_lvmdump(self): + """Collects raw metadata directly from the PVs using dd + """ + sosGetCommandOutput("lvmdump -d %s" % os.path.join(self.cInfo['dstroot'],"lvmdump")) + def setup(self): self.collectExtOutput("/sbin/dmsetup info -c") self.collectExtOutput("/sbin/dmsetup table") self.collectExtOutput("/sbin/dmsetup status") - self.collectExtOutput("/usr/bin/systool -v -C -b scsi") - - self.collectExtOutput("/usr/sbin/vgscan -vvv") self.collectExtOutput("/usr/sbin/vgdisplay -vv", root_symlink = "vgdisplay") + self.collectExtOutput("/usr/sbin/vgscan -vvv") self.collectExtOutput("/usr/sbin/pvscan -v") self.collectExtOutput("/usr/sbin/lvs -a -o +devices") self.collectExtOutput("/usr/sbin/pvs -a -v") @@ -37,4 +45,17 @@ self.addCopySpec("/var/lib/multipath/bindings") self.collectExtOutput("/sbin/multipath -v4 -ll") + self.collectExtOutput("/usr/bin/systool -v -C -b scsi") + + self.collectExtOutput("/bin/ls -laR /dev") + self.collectExtOutput("/bin/ls -laR /sys/block") + + if self.getOption('lvmdump'): + self.do_lvmdump() + + for disk in os.listdir("/sys/block"): + if disk in [ ".", ".." ] or disk.startswith("ram"): + continue + self.collectExtOutput("/usr/bin/udevinfo -ap /sys/block/%s" % (disk)) + return diff -bur sos-1.7/lib/sos/plugins/libraries.py /home/shnavid/projects/sos/lib/sos/plugins/libraries.py --- sos-1.7/lib/sos/plugins/libraries.py 2007-08-14 18:01:29.000000000 +0100 +++ /home/shnavid/projects/sos/lib/sos/plugins/libraries.py 2007-08-17 14:58:45.000000000 +0100 @@ -20,5 +20,7 @@ def setup(self): self.addCopySpec("/etc/ld.so.conf") self.addCopySpec("/etc/ld.so.conf.d") + self.collectExtOutput("/sbin/ldconfig -v") + self.collectExtOutput("/sbin/ldconfig -p") return diff -bur sos-1.7/lib/sos/plugins/process.py /home/shnavid/projects/sos/lib/sos/plugins/process.py --- sos-1.7/lib/sos/plugins/process.py 2007-08-14 18:01:29.000000000 +0100 +++ /home/shnavid/projects/sos/lib/sos/plugins/process.py 2007-08-17 14:58:44.000000000 +0100 @@ -50,12 +51,9 @@ # this should never happen... pass else: + # still D after 0.1 * range(1,5) seconds dpids.append(int(line[1])) - # FIXME: for each hung PID, list file-systems from /proc/$PID/fd -# for pid in dpids: -# realpath - if len(dpids): self.addDiagnose("one or more processes are in state D (sosreport might hang)") diff -bur sos-1.7/lib/sos/plugintools.py /home/shnavid/projects/sos/lib/sos/plugintools.py --- sos-1.7/lib/sos/plugintools.py 2007-08-16 14:26:34.000000000 +0100 +++ /home/shnavid/projects/sos/lib/sos/plugintools.py 2007-09-04 14:02:03.000000000 +0100 @@ -592,8 +588,11 @@ html = html + "

Commands Executed:

\n" # Alerts diff -bur sos-1.7/Makefile /home/shnavid/projects/sos/Makefile --- sos-1.7/Makefile 2007-08-14 18:01:30.000000000 +0100 +++ /home/shnavid/projects/sos/Makefile 2007-09-04 14:02:03.000000000 +0100 @@ -4,12 +4,12 @@ NAME = sos VERSION = $(shell awk '/^%define version / { print $$3 }' sos.spec) -REPO = https://sos.108.redhat.com/svn/sos -SVNTAG = r$(subst .,-,$(VERSION)) +RELEASE = $(shell awk '/^%define release / { print $$3 }' sos.spec) +REPO = svn+ssh://svn.fedoraproject.org/svn/hosted/sos +SVNTAG = r$(subst .,-,$(VERSION))_$(RELEASE) SRCDIR = $(PWD) TOPDIR = $(PWD)/build/rpm-$(NAME)-$(VERSION) - all: .PHONY: tag-release tarball release install version clean diff -bur sos-1.7/README /home/shnavid/projects/sos/README --- sos-1.7/README 2007-08-14 18:03:04.000000000 +0100 +++ /home/shnavid/projects/sos/README 2007-08-30 09:52:16.000000000 +0100 @@ -9,10 +9,9 @@ To access to the public source code repository for this project run: - svn checkout https://sos.108.redhat.com/svn/sos/trunk sos + svn export http://svn.fedoraproject.org/svn/hosted/sos/trunk sos --username guest -(all the following as root) -to install locally ==> make install +to install locally (as root) ==> make install to build an rpm ==> make rpm See the Makefile.