From: Zdenek Kabelac <zkabelac@sourceware.org>
To: lvm-devel@redhat.com
Subject: master - tests: early detect leaking error dev
Date: Mon, 20 Mar 2017 09:19:31 -0400 [thread overview]
Message-ID: <201703201319.v2KDJVU6010432@lists01.pubmisc.prod.ext.phx2.redhat.com> (raw)
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=17b56a4aed90806eac03c32f013f552440b2f596
Commit: 17b56a4aed90806eac03c32f013f552440b2f596
Parent: 07040942ed02455cf168ba6cf40264a644627553
Author: Zdenek Kabelac <zkabelac@redhat.com>
AuthorDate: Mon Mar 20 14:18:50 2017 +0100
Committer: Zdenek Kabelac <zkabelac@redhat.com>
CommitterDate: Mon Mar 20 14:18:50 2017 +0100
tests: early detect leaking error dev
lvconvert should not leak 'error' device.
(This patch is not fix the problem, just makes it more easily visible
instead of more confusing 'clvmd' trace).
---
test/shell/lvconvert-raid-takeover.sh | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/test/shell/lvconvert-raid-takeover.sh b/test/shell/lvconvert-raid-takeover.sh
index 0e8e880..e1b1d98 100644
--- a/test/shell/lvconvert-raid-takeover.sh
+++ b/test/shell/lvconvert-raid-takeover.sh
@@ -22,6 +22,26 @@ aux have_raid 1 9 1 && correct_raid4_layout=1
aux prepare_vg 8
+# FIXME: lvconvert leaks 'error' devices
+detect_error_leak_()
+{
+ local err
+
+ dmsetup info -c -o name --noheadings | tee out
+ if grep $vg out ; then
+ for i in $(grep $vg out) ; do
+ if dmsetup table $i | grep "error "; then
+ err="$err $i"
+ fi
+ done
+ test -z "$err" || {
+ dmsetup table | grep $vg
+ dmsetup ls --tree
+ die "Device(s) $err should not be here."
+ }
+ fi
+}
+
function _lvcreate
{
local level=$1
@@ -56,7 +76,8 @@ function _lvconvert
[ "${level:0:5}" = "raid0" ] && wait_and_check=0
lvconvert -y --ty $req_level $R $vg/$lv
- [ $? -ne 0 ] && return $?
+ detect_error_leak_
+
check lv_field $vg/$lv segtype "$level"
check lv_field $vg/$lv data_stripes $data_stripes
check lv_field $vg/$lv stripes $stripes
@@ -112,6 +133,7 @@ fsck -fn "$DM_DEV_DIR/$vg/$lv1"
# Convert 3-way to 4-way mirror
lvconvert -m 3 $vg/$lv1
+detect_error_leak_
check lv_field $vg/$lv1 segtype "mirror"
check lv_field $vg/$lv1 stripes 4
fsck -fn "$DM_DEV_DIR/$vg/$lv1"
@@ -120,6 +142,7 @@ fsck -fn "$DM_DEV_DIR/$vg/$lv1"
# Takeover 4-way mirror to raid1
lvconvert --yes --type raid1 -R 64k $vg/$lv1
+detect_error_leak_
check lv_field $vg/$lv1 segtype "raid1"
check lv_field $vg/$lv1 stripes 4
check lv_field $vg/$lv1 regionsize "64.00k"
@@ -127,6 +150,7 @@ fsck -fn "$DM_DEV_DIR/$vg/$lv1"
## Convert 4-way raid1 to 5-way
lvconvert -m 4 -R 128K $vg/$lv1
+detect_error_leak_
check lv_field $vg/$lv1 segtype "raid1"
check lv_field $vg/$lv1 stripes 5
check lv_field $vg/$lv1 regionsize "128.00k"
@@ -142,6 +166,7 @@ fsck -fn "$DM_DEV_DIR/$vg/$lv1"
# Convert 5-way raid1 to 2-way
lvconvert --yes -m 1 $vg/$lv1
+detect_error_leak_
lvs $vg/$lv1
dmsetup status $vg-$lv1
dmsetup table $vg-$lv1
@@ -151,6 +176,7 @@ fsck -fn "$DM_DEV_DIR/$vg/$lv1"
# Convert 2-way raid1 to mirror
lvconvert --yes --type mirror -R 32K $vg/$lv1
+detect_error_leak_
check lv_field $vg/$lv1 segtype "mirror"
check lv_field $vg/$lv1 stripes 2
check lv_field $vg/$lv1 regionsize "32.00k"
next reply other threads:[~2017-03-20 13:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-20 13:19 Zdenek Kabelac [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-03-18 20:23 master - tests: early detect leaking error dev Zdenek Kabelac
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201703201319.v2KDJVU6010432@lists01.pubmisc.prod.ext.phx2.redhat.com \
--to=zkabelac@sourceware.org \
--cc=lvm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.