local fssector
echo "# $device: LVM detected" 1>&2
-
+
# Step 3: Get pysical extent number
pvname="`pvdisplay -c $device 2>/dev/null | awk -F: '{print $1,$2,$8}' | sed -e 's/^ *//'`"
if [ -z "$pvname" ]; then
- echo "! $device is not a physical volume" 1>&2
- exit 1
+ echo "! $device is not a physical volume" 1>&2
+ exit 1
fi
pesize="${pvname##* }"
# Step 4: Find associated logical volume
lestart="$(vgdisplay -v $vgname 2>/dev/null | awk '/LV Name/{print $3}' | while read lvname; do \
- lvdisplay -m $lvname 2>/dev/null \
- | awk -v RS="\n *\n( --- Segments ---\n)?" \
- -F"[ \t\n:]+" \
- -v pvname="$pvname" \
- -v penum="$penum" \
- -v lvname="$lvname" \
- '$0 ~ "Physical volume[ \t]+" pvname && $14<=penum && $16>=penum{print lvname,$4,$14}'; \
- done)"
+ lvdisplay -m $lvname 2>/dev/null \
+ | awk -v RS="\n *\n( --- Segments ---\n)?" \
+ -F"[ \t\n:]+" \
+ -v pvname="$pvname" \
+ -v penum="$penum" \
+ -v lvname="$lvname" \
+ '$0 ~ "Physical volume[ \t]+" pvname && $14<=penum && $16>=penum{print lvname,$4,$14}'; \
+ done)"
if [ -z "$lestart" ]; then
- echo "# pysical extent $penum of $pvname is not mapped in any logical volume" 1>&2
- exit 0
+ echo "# pysical extent $penum of $pvname is not mapped in any logical volume" 1>&2
+ exit 0
fi
lvname="${lestart%% *}"