GNU bug report logs - #15354
[PATCH 05/19] tests: Make sure dm UUIDs are not erased

Previous Next

Package: parted;

Reported by: "Brian C. Lane" <bcl <at> redhat.com>

Date: Wed, 11 Sep 2013 20:18:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 15354 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-parted <at> gnu.org:
bug#15354; Package parted. (Wed, 11 Sep 2013 20:18:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Brian C. Lane" <bcl <at> redhat.com>:
New bug report received and forwarded. Copy sent to bug-parted <at> gnu.org. (Wed, 11 Sep 2013 20:18:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Brian C. Lane" <bcl <at> redhat.com>
To: bug-parted <at> gnu.org
Subject: [PATCH 05/19] tests: Make sure dm UUIDs are not erased
Date: Wed, 11 Sep 2013 12:24:55 -0700
From: "Brian C. Lane" <bcl <at> redhat.com>

* tests/t6005-dm-uuid.sh: Make sure dm UUIDs are not erased
---
 tests/Makefile.am      |  1 +
 tests/t6005-dm-uuid.sh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+)
 create mode 100755 tests/t6005-dm-uuid.sh

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 923839d..57e8642 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -61,6 +61,7 @@ TESTS = \
   t6002-dm-busy.sh \
   t6003-dm-hide.sh \
   t6004-dm-many-partitions.sh \
+  t6005-dm-uuid.sh \
   t6100-mdraid-partitions.sh \
   t7000-scripting.sh \
   t8000-loop.sh \
diff --git a/tests/t6005-dm-uuid.sh b/tests/t6005-dm-uuid.sh
new file mode 100755
index 0000000..f58cb06
--- /dev/null
+++ b/tests/t6005-dm-uuid.sh
@@ -0,0 +1,58 @@
+#!/bin/sh
+# device-mapper: preserve uuid
+# The dm's partitions uuid would be removed when creating new partitions
+
+# Copyright (C) 2012 Free Software Foundation, Inc.
+
+# 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 3 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, see <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted
+
+require_root_
+(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
+
+ss=$sector_size_
+ns=300
+n_partitions=3
+start_sector=34
+loop_file=loop-file-$$
+dm_name=dm-test-$$
+
+cleanup_() {
+    dmsetup remove $dm_name
+    test -n "$dev" && losetup -d "$dev"
+    rm -f $loop_file;
+}
+
+# create a file large enough to hold a GPT partition table
+dev=$(loop_setup_ $loop_file) || framework_failure
+dmsetup create $dm_name --table "0 $ns linear $dev 0" || framework_failure
+dmsetup rename $dm_name --setuuid f139317b-f98a-45d7-ab3b-9b4e0a336872 || framework_failure
+
+cmd=
+for ((i=1; i<=$n_partitions; i+=1)); do
+  s=$((start_sector + i - 1))
+  cmd="$cmd mkpart p$i ${s}s ${s}s"
+done
+parted -m -a min -s /dev/mapper/$dm_name mklabel gpt $cmd > /dev/null 2>&1 || fail=1
+
+# Make sure all the partitions have UUIDs
+for ((i=1; i<=$n_partitions; i+=1)); do
+    dmsetup info /dev/mapper/${dm_name}p$i | grep UUID || fail=1
+
+    # remove the partitions as we go, otherwise cleanup won't work.
+    dmsetup remove /dev/mapper/${dm_name}p$i
+done
+
+Exit $fail
-- 
1.8.3.1





This bug report was last modified 11 years and 282 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.