Harald Hoyer 30adad
From 831625d29ed6f174b276cd738e34bfebc5052e1c Mon Sep 17 00:00:00 2001
Harald Hoyer 30adad
From: Harald Hoyer <harald@redhat.com>
Harald Hoyer 30adad
Date: Fri, 13 Dec 2013 11:05:39 +0100
Harald Hoyer 30adad
Subject: [PATCH] lvm: fixed lvm thin check
Harald Hoyer 30adad
Harald Hoyer 30adad
---
Harald Hoyer 30adad
 modules.d/90lvm/module-setup.sh | 9 ++++++++-
Harald Hoyer 30adad
 1 file changed, 8 insertions(+), 1 deletion(-)
Harald Hoyer 30adad
Harald Hoyer 30adad
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
Harald Hoyer 30adad
index 1206310..a64e5d6 100755
Harald Hoyer 30adad
--- a/modules.d/90lvm/module-setup.sh
Harald Hoyer 30adad
+++ b/modules.d/90lvm/module-setup.sh
Harald Hoyer 30adad
@@ -99,9 +99,16 @@ install() {
Harald Hoyer 30adad
 
Harald Hoyer 30adad
     if [[ $hostonly ]] && type -P lvs &>/dev/null; then
Harald Hoyer 30adad
         for dev in "${!host_fs_types[@]}"; do
Harald Hoyer 30adad
-            if [[ "$(lvs --noheadings -o segtype "$dev" 2>/dev/null)" == *thin* ]] ; then
Harald Hoyer 30adad
+            [ -e /sys/block/${dev#/dev/}/dm/name ] || continue
Harald Hoyer 30adad
+            dev=$(
Harald Hoyer 30adad
+            eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2>/dev/null)
Harald Hoyer 30adad
+            [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || continue
Harald Hoyer 30adad
+            if [[ "$(lvs --noheadings -o segtype ${DM_VG_NAME} 2>/dev/null)" == *thin* ]] ; then
Harald Hoyer 30adad
                 inst_multiple -o thin_dump thin_restore thin_check thin_repair
Harald Hoyer 30adad
+                break
Harald Hoyer 30adad
             fi
Harald Hoyer 30adad
         done
Harald Hoyer 30adad
+    else
Harald Hoyer 30adad
+        inst_multiple -o thin_dump thin_restore thin_check thin_repair
Harald Hoyer 30adad
     fi
Harald Hoyer 30adad
 }