diff -Nru partman-base-180ubuntu1/debian/changelog partman-base-180ubuntu1mpathpart1/debian/changelog --- partman-base-180ubuntu1/debian/changelog 2014-11-27 08:28:37.000000000 -0200 +++ partman-base-180ubuntu1mpathpart1/debian/changelog 2015-02-24 12:54:04.000000000 -0300 @@ -1,3 +1,17 @@ +partman-base (180ubuntu1mpathpart1) UNRELEASED; urgency=medium + + * init.d/parted: update part_of_multipath() for more recent output of + 'multipath -l' (actually, no longer expect/match/print the symbols + that have changed/may change). This fixes the (incorrect) listing of + block devices that are part of a multipath device on partitioning/ + formatting dialogs. + * lib/base.sh: update is_multipath_part() to handle different multipath + disk-partition separators ('-part' and 'p'), as recently seen with + libparted/parted-server ('p'). This fixes the (incorrect) listing of + (non-existent) LVM VGs/LVs for multipath partitions on those dialogs. + + -- Mauricio Faria de Oliveira Tue, 24 Feb 2015 11:58:03 -0300 + partman-base (180ubuntu1) vivid; urgency=medium * Resynchronise with Debian. Remaining changes: diff -Nru partman-base-180ubuntu1/init.d/parted partman-base-180ubuntu1mpathpart1/init.d/parted --- partman-base-180ubuntu1/init.d/parted 2014-07-14 12:31:13.000000000 -0300 +++ partman-base-180ubuntu1mpathpart1/init.d/parted 2015-02-24 12:03:56.000000000 -0300 @@ -47,10 +47,11 @@ return 0 fi # The block devices that make up the multipath: - # Output looks like \_ 4:0:0:1 sdc 8:32 ... + # Output looks like "(decoration-symbols) 4:0:0:1 sdc 8:32 ..." + # (decoration-symbols are not matched, as they differ in the last line, and are subject to change.) for mpdev in $(multipath -l | \ - grep '_ \([#0-9]\+:\)\{3\}[#0-9]\+ [hs]d[a-z]\+ [0-9]\+:[0-9]\+' | \ - cut -f4 -d' '); do + grep -o '\([#0-9]\+:\)\{3\}[#0-9]\+ [hs]d[a-z]\+ [0-9]\+:[0-9]\+' | \ + cut -f2 -d' '); do if [ "$(readlink -f /dev/$mpdev)" = $1 ]; then return 0 fi diff -Nru partman-base-180ubuntu1/lib/base.sh partman-base-180ubuntu1mpathpart1/lib/base.sh --- partman-base-180ubuntu1/lib/base.sh 2012-06-21 06:52:23.000000000 -0300 +++ partman-base-180ubuntu1mpathpart1/lib/base.sh 2015-02-24 12:50:43.000000000 -0300 @@ -673,7 +673,16 @@ [ "$type" = linear ] || return 1 name=$(dmsetup info --noheadings -c -oname "$1") - mp=${name%-part*} + # Handle different multipath disk-partition separators ('-part' and 'p') + case "$name" in + *-part[0-9]*) + mp=${name%-part*} + ;; + *p[0-9]*) + mp=${name%p*} + ;; + esac + if [ $(multipath -l $mp | wc -l) -gt 0 ]; then return 0 fi