From 9683478371c60e78920c22cb4f5ca14b39bb9fcb Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Thu, 14 Sep 2023 00:51:58 +0200 Subject: [PATCH 22/24] tests: update for work in fake dev environment No write outside of $LVM_TEST_DIR (removed /test access). Use 'aux prepare_scsi_debug_dev' for automated scsi_debug handling Properly use "" around shell vars. Smarter read of PVS values. Relax requirement to only work with real /dev dir. --- test/shell/devicesfile-vpd-ids.sh | 328 +++++++++++++++--------------- 1 file changed, 164 insertions(+), 164 deletions(-) diff --git a/test/shell/devicesfile-vpd-ids.sh b/test/shell/devicesfile-vpd-ids.sh index 9a12f49f9..37fb6b79f 100644 --- a/test/shell/devicesfile-vpd-ids.sh +++ b/test/shell/devicesfile-vpd-ids.sh @@ -16,12 +16,10 @@ SKIP_WITH_LVMPOLLD=1 . lib/inittest -test "$DM_DEV_DIR" = "/dev" || skip "Only works with /dev access -> make check LVM_TEST_DEVDIR=/dev" - -aux lvmconf 'devices/use_devicesfile = 1' +SYS_DIR="sys" # requires trailing / to match dm -aux lvmconf 'devices/device_id_sysfs_dir = "/test/sys/"' -SYS_DIR="/test/sys" +aux lvmconf "devices/device_id_sysfs_dir = \"$PWD/$SYS_DIR/\"" \ + "devices/use_devicesfile = 1" # These values match the values encoded in the binary blob # written to dev1_vpd_pg83 @@ -34,7 +32,7 @@ DEV1_NAA2=naa.600a098000000002ac18542400000dbd DEV1_NAA3=naa.553b13644430344b4e3f486d32647962 create_base() { - mkdir -p $SYS_DIR/dev/block + mkdir -p "$SYS_DIR/dev/block" echo -n "0083 009c 0201 0020 4c56 4d54 5354 2020 \ 204c 554e 2038 3039 7741 4c56 4d54 5354 \ @@ -45,39 +43,36 @@ create_base() { 0000 0dbd 0114 0004 0101 0005 0115 0004 \ 0000 03ec 0328 0028 6e61 612e 3535 3342 \ 3133 3634 3434 3330 3334 3442 3445 3346 \ - 3438 3644 3332 3634 3739 3632 0000 0000" | xxd -r -p > $SYS_DIR/dev1_vpd_pg83 + 3438 3644 3332 3634 3739 3632 0000 0000" | xxd -r -p > "$SYS_DIR/dev1_vpd_pg83" } remove_base() { - rm $SYS_DIR/dev1_vpd_pg83 - rmdir $SYS_DIR/dev/block - rmdir $SYS_DIR/dev - rmdir $SYS_DIR + rm "$SYS_DIR/dev1_vpd_pg83" + rmdir "$SYS_DIR/dev/block" + rmdir "$SYS_DIR/dev" + rmdir "$SYS_DIR" } setup_sysfs() { - mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device - echo $1 > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid - cp $SYS_DIR/dev1_vpd_pg83 $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/vpd_pg83 + mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" + echo "$1" > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" + cp "$SYS_DIR/dev1_vpd_pg83" "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/vpd_pg83" } cleanup_sysfs() { - rm -f $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid - rm -f $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/vpd_pg83 - rmdir $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device || true - rmdir $SYS_DIR/dev/block/$MAJOR1:$MINOR1 || true + rm -f "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" + rm -f "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/vpd_pg83" + rmdir "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" || true + rmdir "$SYS_DIR/dev/block/$MAJOR1:$MINOR1" || true } +aux prepare_scsi_debug_dev 16 || skip -modprobe scsi_debug dev_size_mb=16 num_tgts=1 -sleep 2 # Get scsi device name created by scsi_debug. # SD = sdh # DEV1 = /dev/sdh -SD=$(grep -H scsi_debug /sys/block/sd*/device/model | cut -f4 -d /); -echo $SD -DEV1=/dev/$SD -echo $DEV1 +DEV1=$(< SCSI_DEBUG_DEV) +echo "Using scsi_debug device: $DEV1" DFDIR="$LVM_SYSTEM_DIR/devices" mkdir -p "$DFDIR" || true @@ -87,22 +82,23 @@ touch $DF pvcreate "$DEV1" vgcreate $vg "$DEV1" -MAJOR1=`pvs "$DEV1" --noheading -o major | tr -d - | awk '{print $1}'` -MINOR1=`pvs "$DEV1" --noheading -o minor | tr -d - | awk '{print $1}'` -PVID1=`pvs "$DEV1" --noheading -o uuid | tr -d - | awk '{print $1}'` +eval "$(pvs --noheading --nameprefixes -o major,minor,uuid "$DEV1")" +MAJOR1=$LVM2_PV_MAJOR +MINOR1=$LVM2_PV_MINOR +PVID1=${LVM2_PV_UUID//-/} create_base # No sys/wwid, lvm uses wwid from sys/vpd -setup_sysfs $DEV1_NAA +setup_sysfs "$DEV1_NAA" # no sys/wwid is reported -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid -rm $DF +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" +rm "$DF" lvmdevices --adddev "$DEV1" -cat $DF +cat "$DF" pvs "$DEV1" -grep $DEV1_NAA $DF +grep "$DEV1_NAA" "$DF" cleanup_sysfs # Kernel changes the type printed from sys/wwid from t10 to naa @@ -113,15 +109,15 @@ cleanup_sysfs # reporting pvs should still find the dev based on using vpd data # and find the t10 value there -setup_sysfs $DEV1_T10 -rm $DF +setup_sysfs "$DEV1_T10" +rm "$DF" lvmdevices --adddev "$DEV1" -cat $DF -grep sys_wwid $DF -grep $DEV1_T10 $DF +cat "$DF" +grep sys_wwid "$DF" +grep "$DEV1_T10" "$DF" pvs "$DEV1" # kernel changes what it reports from sys/wwid -echo $DEV1_NAA > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +echo "$DEV1_NAA" > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" # lvm finds the original t10 id in vpd pvs "$DEV1" cleanup_sysfs @@ -132,229 +128,231 @@ cleanup_sysfs # df entry uses the specified type # reporting pvs should show the pv -setup_sysfs $DEV1_T10 -rm $DF +setup_sysfs "$DEV1_T10" +rm "$DF" lvmdevices --adddev "$DEV1" --deviceidtype wwid_naa -cat $DF -grep wwid_naa $DF -grep $DEV1_NAA $DF +cat "$DF" +grep wwid_naa "$DF" +grep "$DEV1_NAA" "$DF" pvs "$DEV1" lvmdevices --deldev "$DEV1" lvmdevices --addpvid "$PVID1" --deviceidtype wwid_naa -cat $DF -grep $DEV1_NAA $DF +cat "$DF" +grep "$DEV1_NAA" "$DF" pvs "$DEV1" lvmdevices --deldev "$DEV1" lvmdevices --adddev "$DEV1" --deviceidtype wwid_eui -cat $DF -grep wwid_eui $DF -grep $DEV1_EUI $DF +cat "$DF" +grep wwid_eui "$DF" +grep "$DEV1_EUI" "$DF" pvs "$DEV1" cleanup_sysfs -# Any of the vpd wwids can be used in the devices file +# Any of the vpd wwids can be used in the devices file # with type sys_wwid and the device will be matched to # it by finding that wwid in the vpd data. -setup_sysfs $DEV1_NAA -rm $DF +setup_sysfs "$DEV1_NAA" +rm "$DF" lvmdevices --adddev "$DEV1" -cat $DF -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +cat "$DF" +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" pvs "$DEV1" cleanup_sysfs -setup_sysfs $DEV1_NAA2 -rm $DF +setup_sysfs "$DEV1_NAA2" +rm "$DF" lvmdevices --adddev "$DEV1" -cat $DF -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +cat "$DF" +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" pvs "$DEV1" cleanup_sysfs -setup_sysfs $DEV1_NAA3 -rm $DF +setup_sysfs "$DEV1_NAA3" +rm "$DF" lvmdevices --adddev "$DEV1" -cat $DF -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +cat "$DF" +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" pvs "$DEV1" cleanup_sysfs -setup_sysfs $DEV1_EUI -rm $DF +setup_sysfs "$DEV1_EUI" +rm "$DF" lvmdevices --adddev "$DEV1" -cat $DF -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +cat "$DF" +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" pvs "$DEV1" cleanup_sysfs -setup_sysfs $DEV1_T10 -rm $DF +setup_sysfs "$DEV1_T10" +rm "$DF" lvmdevices --adddev "$DEV1" -cat $DF -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +cat "$DF" +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" pvs "$DEV1" cleanup_sysfs # Test nvme wwid that starts with "nvme" instead of naa/eui/t10 -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/ -echo "nvme.111111111111111111122222222222333333333333333-44444444444444444445555555555556666666666666666662-00000001" > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/wwid +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1" +echo "nvme.111111111111111111122222222222333333333333333-44444444444444444445555555555556666666666666666662-00000001" > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/wwid" lvmdevices --adddev "$DEV1" -cat $DF +cat "$DF" vgcreate $vg "$DEV1" lvcreate -l1 -an $vg -cat $DF +cat "$DF" pvs -o+deviceidtype,deviceid "$DEV1" |tee out grep sys_wwid out grep nvme.111 out -grep sys_wwid $DF -grep nvme.111 $DF +grep sys_wwid "$DF" +grep nvme.111 "$DF" lvmdevices --deldev "$DEV1" not lvmdevices --adddev "$DEV1" --deviceidtype wwid_eui lvmdevices --adddev "$DEV1" --deviceidtype sys_wwid lvmdevices | grep nvme.111 lvremove -y $vg -sleep 1 +sleep .1 lvs $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/wwid +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/wwid" cleanup_sysfs # Test t10 wwid containing quote -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device -echo "t10.ATA_2.5\"_SATA_SSD_1112-A___111111111111" > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" +echo "t10.ATA_2.5\"_SATA_SSD_1112-A___111111111111" > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" lvmdevices --adddev "$DEV1" -cat $DF +cat "$DF" vgcreate $vg "$DEV1" lvcreate -l1 -an $vg -cat $DF +cat "$DF" # check wwid string in metadata output pvs -o+deviceidtype,deviceid "$DEV1" |tee out grep sys_wwid out # the quote is removed after the 5 grep 2.5_SATA_SSD out # check wwid string in system.devices -grep sys_wwid $DF +grep sys_wwid "$DF" # the quote is removed after the 5 -grep 2.5_SATA_SSD $DF +grep 2.5_SATA_SSD "$DF" lvremove -y $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" cleanup_sysfs # Test t10 wwid with trailing space and line feed at the end -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" echo -n "7431 302e 4154 4120 2020 2020 5642 4f58 \ 2048 4152 4444 4953 4b20 2020 2020 2020 \ 2020 2020 2020 2020 2020 2020 2020 2020 \ 2020 2020 5642 3963 3130 6433 3138 2d31 \ -3838 6439 6562 6320 0a" | xxd -r -p > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid -cat $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +3838 6439 6562 6320 0a" | xxd -r -p > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" +cat "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" lvmdevices --adddev "$DEV1" -cat $DF +cat "$DF" vgcreate $vg "$DEV1" lvcreate -l1 -an $vg -cat $DF +cat "$DF" # check wwid string in metadata output pvs -o+deviceidtype,deviceid "$DEV1" |tee out grep sys_wwid out # check wwid string in system.devices -grep sys_wwid $DF +grep sys_wwid "$DF" lvremove -y $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" cleanup_sysfs # Test t10 wwid with trailing space at the end that was created by 9.0/9.1 -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" echo -n "7431 302e 4154 4120 2020 2020 5642 4f58 \ 2048 4152 4444 4953 4b20 2020 2020 2020 \ 2020 2020 2020 2020 2020 2020 2020 2020 \ 2020 2020 5642 3963 3130 6433 3138 2d31 \ -3838 6439 6562 6320 0a" | xxd -r -p > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid -cat $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +3838 6439 6562 6320 0a" | xxd -r -p > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" +cat "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" lvmdevices --adddev "$DEV1" -cat $DF +cat "$DF" vgcreate $vg "$DEV1" -PVID1=`pvs "$DEV1" --noheading -o uuid | tr -d - | awk '{print $1}'` +eval "$(pvs --noheading --nameprefixes -o uuid "$DEV1")" +PVID1=${LVM2_PV_UUID//-/} T10_WWID_RHEL91="t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9ebc_" lvcreate -l1 -an $vg -cat $DF +cat "$DF" # check wwid string in metadata output pvs -o+deviceidtype,deviceid "$DEV1" |tee out grep sys_wwid out # check wwid string in system.devices -grep sys_wwid $DF +grep sys_wwid "$DF" # Replace IDNAME with the IDNAME that 9.0/9.1 created from this wwid -cat $DF | grep -v IDNAME > $DFTMP -cat $DFTMP -echo "IDTYPE=sys_wwid IDNAME=t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9ebc_ DEVNAME=${DEV1} PVID=${PVID1}" >> $DFTMP -cp $DFTMP $DF -cat $DF +cat "$DF" | grep -v IDNAME > "$DFTMP" +cat "$DFTMP" +echo "IDTYPE=sys_wwid IDNAME=t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9ebc_ DEVNAME=${DEV1} PVID=${PVID1}" >> "$DFTMP" +cp "$DFTMP" "$DF" +cat "$DF" vgs pvs pvs -o+deviceidtype,deviceid "$DEV1" # Removing the trailing _ which should then work -cat $DF | grep -v IDNAME > $DFTMP -cat $DFTMP -echo "IDTYPE=sys_wwid IDNAME=t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9ebc DEVNAME=${DEV1} PVID=${PVID1}" >> $DFTMP -cp $DFTMP $DF -cat $DF +cat "$DF" | grep -v IDNAME > "$DFTMP" +cat "$DFTMP" +echo "IDTYPE=sys_wwid IDNAME=t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9ebc DEVNAME=${DEV1} PVID=${PVID1}" >> "$DFTMP" +cp "$DFTMP" "$DF" +cat "$DF" vgs pvs pvs -o+deviceidtype,deviceid "$DEV1" lvremove -y $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" cleanup_sysfs # test a t10 wwid that has actual trailing underscore which # is followed by a trailing space. -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" echo -n "7431 302e 4154 4120 2020 2020 5642 4f58 \ 2048 4152 4444 4953 4b20 2020 2020 2020 \ 2020 2020 2020 2020 2020 2020 2020 2020 \ 2020 2020 5642 3963 3130 6433 3138 2d31 \ -3838 6439 6562 5f20 0a" | xxd -r -p > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid -cat $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +3838 6439 6562 5f20 0a" | xxd -r -p > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" +cat "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" # The wwid has an actual underscore char (5f) followed by a space char (20) # 9.1 converts the trailing space to an underscore T10_WWID_RHEL91="t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9eb__" # 9.2 ignores the trailing space T10_WWID_RHEL92="t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9eb_" lvmdevices --adddev "$DEV1" -cat $DF +cat "$DF" vgcreate $vg "$DEV1" -PVID1=`pvs "$DEV1" --noheading -o uuid | tr -d - | awk '{print $1}'` +eval "$(pvs --noheading --nameprefixes -o uuid "$DEV1")" +PVID1=${LVM2_PV_UUID//-/} lvcreate -l1 -an $vg -cat $DF +cat "$DF" # check wwid string in metadata output pvs -o+deviceidtype,deviceid "$DEV1" |tee out grep sys_wwid out # check wwid string in system.devices -grep sys_wwid $DF +grep sys_wwid "$DF" # Replace IDNAME with the IDNAME that 9.0/9.1 created from this wwid -cat $DF | grep -v IDNAME > $DFTMP -cat $DFTMP -echo "IDTYPE=sys_wwid IDNAME=${T10_WWID_RHEL91} DEVNAME=${DEV1} PVID=${PVID1}" >> $DFTMP -cp $DFTMP $DF -cat $DF +cat "$DF" | grep -v IDNAME > "$DFTMP" +cat "$DFTMP" +echo "IDTYPE=sys_wwid IDNAME=${T10_WWID_RHEL91} DEVNAME=${DEV1} PVID=${PVID1}" >> "$DFTMP" +cp "$DFTMP" "$DF" +cat "$DF" vgs pvs pvs -o+deviceidtype,deviceid "$DEV1" lvremove -y $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" cleanup_sysfs # @@ -363,67 +361,70 @@ cleanup_sysfs # underscores are understood. # -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device -echo -n " s123 456 " > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/serial +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" +echo -n " s123 456 " > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/serial" lvmdevices --adddev "$DEV1" -cat $DF -grep "IDNAME=s123__456 DEVNAME" $DF +cat "$DF" +grep "IDNAME=s123__456 DEVNAME" "$DF" vgcreate $vg "$DEV1" -PVID1=`pvs "$DEV1" --noheading -o uuid | tr -d - | awk '{print $1}'` -cat $DF | grep -v IDNAME > $DFTMP -cat $DFTMP -echo "IDTYPE=sys_serial IDNAME=__s123__456__ DEVNAME=${DEV1} PVID=${PVID1}" >> $DFTMP -cp $DFTMP $DF -cat $DF +eval "$(pvs --noheading --nameprefixes -o uuid "$DEV1")" +PVID1=${LVM2_PV_UUID//-/} +cat "$DF" | grep -v IDNAME > "$DFTMP" +cat "$DFTMP" +echo "IDTYPE=sys_serial IDNAME=__s123__456__ DEVNAME=${DEV1} PVID=${PVID1}" >> "$DFTMP" +cp "$DFTMP" "$DF" +cat "$DF" vgs pvs -o+deviceidtype,deviceid "$DEV1" lvremove -y $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/serial +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/serial" cleanup_sysfs -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device -echo -n " t10.123 456 " > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" +echo -n " t10.123 456 " > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" lvmdevices --adddev "$DEV1" -cat $DF -grep "IDNAME=t10.123_456 DEVNAME" $DF +cat "$DF" +grep "IDNAME=t10.123_456 DEVNAME" "$DF" vgcreate $vg "$DEV1" -PVID1=`pvs "$DEV1" --noheading -o uuid | tr -d - | awk '{print $1}'` -cat $DF | grep -v IDNAME > $DFTMP -cat $DFTMP -echo "IDTYPE=sys_wwid IDNAME=__t10.123__456__ DEVNAME=${DEV1} PVID=${PVID1}" >> $DFTMP -cp $DFTMP $DF -cat $DF +eval "$(pvs --noheading --nameprefixes -o uuid "$DEV1")" +PVID1=${LVM2_PV_UUID//-/} +cat "$DF" | grep -v IDNAME > "$DFTMP" +cat "$DFTMP" +echo "IDTYPE=sys_wwid IDNAME=__t10.123__456__ DEVNAME=${DEV1} PVID=${PVID1}" >> "$DFTMP" +cp "$DFTMP" "$DF" +cat "$DF" vgs pvs -o+deviceidtype,deviceid "$DEV1" lvremove -y $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" cleanup_sysfs -rm $DF +rm "$DF" aux wipefs_a "$DEV1" -mkdir -p $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device -echo -n " naa.123 456 " > $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +mkdir -p "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device" +echo -n " naa.123 456 " > "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" lvmdevices --adddev "$DEV1" -cat $DF -grep "IDNAME=naa.123__456 DEVNAME" $DF +cat "$DF" +grep "IDNAME=naa.123__456 DEVNAME" "$DF" vgcreate $vg "$DEV1" -PVID1=`pvs "$DEV1" --noheading -o uuid | tr -d - | awk '{print $1}'` -cat $DF | grep -v IDNAME > $DFTMP -cat $DFTMP -echo "IDTYPE=sys_wwid IDNAME=__naa.123__456__ DEVNAME=${DEV1} PVID=${PVID1}" >> $DFTMP -cp $DFTMP $DF -cat $DF +eval "$(pvs --noheading --nameprefixes -o uuid "$DEV1")" +PVID1=${LVM2_PV_UUID//-/} +cat "$DF" | grep -v IDNAME > "$DFTMP" +cat "$DFTMP" +echo "IDTYPE=sys_wwid IDNAME=__naa.123__456__ DEVNAME=${DEV1} PVID=${PVID1}" >> "$DFTMP" +cp "$DFTMP" "$DF" +cat "$DF" vgs pvs -o+deviceidtype,deviceid "$DEV1" lvremove -y $vg vgremove $vg -rm $SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid +rm "$SYS_DIR/dev/block/$MAJOR1:$MINOR1/device/wwid" cleanup_sysfs @@ -433,4 +434,3 @@ cleanup_sysfs # This would let the user specify the second naa wwid. remove_base -rmmod scsi_debug || true -- 2.35.3