2022-09-20 18:54:57 +03:00
#!/usr/bin/env bash
# Copyright (C) 2020 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
test_description = 'device id wwid from vpd_pg83'
2023-07-14 12:18:58 +03:00
SKIP_WITH_LVMPOLLD = 1
2022-09-20 18:54:57 +03:00
. lib/inittest
2023-09-14 01:51:58 +03:00
SYS_DIR = "sys"
2022-09-20 18:54:57 +03:00
# requires trailing / to match dm
2023-09-14 01:51:58 +03:00
aux lvmconf " devices/device_id_sysfs_dir = \" $PWD / $SYS_DIR /\" " \
"devices/use_devicesfile = 1"
2022-09-20 18:54:57 +03:00
# These values match the values encoded in the binary blob
# written to dev1_vpd_pg83
DEV1_NAA = naa.600a098038303877413f4e7049592e6e
DEV1_EUI = eui.3f4e7049592d6f0000a0973730387741
DEV1_T10 = t10.LVMTST_LUN_809wALVMTSTo
# dev has a second naa wwid
DEV1_NAA2 = naa.600a098000000002ac18542400000dbd
# dev has a third naa wwid in the scsi name field
DEV1_NAA3 = naa.553b13644430344b4e3f486d32647962
create_base( ) {
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block "
2022-09-20 18:54:57 +03:00
echo -n " 0083 009c 0201 0020 4c56 4d54 5354 2020 \
204c 554e 2038 3039 7741 4c56 4d54 5354 \
6f20 2020 2020 2020 0103 0010 600a 0980 \
3830 3877 413f 4e70 4959 2e6e 0102 0010 \
3f4e 7049 592d 6f00 00a0 9737 3038 7741 \
0113 0010 600a 0980 0000 0002 ac18 5424 \
0000 0dbd 0114 0004 0101 0005 0115 0004 \
0000 03ec 0328 0028 6e61 612e 3535 3342 \
3133 3634 3434 3330 3334 3442 3445 3346 \
2023-09-14 01:51:58 +03:00
3438 3644 3332 3634 3739 3632 0000 0000" | xxd -r -p > " $SYS_DIR /dev1_vpd_pg83"
2022-09-20 18:54:57 +03:00
}
remove_base( ) {
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev1_vpd_pg83 "
rmdir " $SYS_DIR /dev/block "
rmdir " $SYS_DIR /dev "
rmdir " $SYS_DIR "
2022-09-20 18:54:57 +03:00
}
setup_sysfs( ) {
2023-09-14 01:51:58 +03:00
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 "
2022-09-20 18:54:57 +03:00
}
cleanup_sysfs( ) {
2023-09-14 01:51:58 +03:00
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
2022-09-20 18:54:57 +03:00
}
2023-09-14 01:51:58 +03:00
aux prepare_scsi_debug_dev 16 || skip
2022-09-20 18:54:57 +03:00
# Get scsi device name created by scsi_debug.
# SD = sdh
# DEV1 = /dev/sdh
2023-09-14 01:51:58 +03:00
DEV1 = $( < SCSI_DEBUG_DEV)
echo " Using scsi_debug device: $DEV1 "
2022-09-20 18:54:57 +03:00
DFDIR = " $LVM_SYSTEM_DIR /devices "
mkdir -p " $DFDIR " || true
DF = " $DFDIR /system.devices "
2023-05-19 20:52:48 +03:00
DFTMP = " $DFDIR /system.devices_tmp "
2022-09-20 18:54:57 +03:00
touch $DF
pvcreate " $DEV1 "
vgcreate $vg " $DEV1 "
2023-09-14 01:51:58 +03:00
eval " $( pvs --noheading --nameprefixes -o major,minor,uuid " $DEV1 " ) "
MAJOR1 = $LVM2_PV_MAJOR
MINOR1 = $LVM2_PV_MINOR
PVID1 = ${ LVM2_PV_UUID //-/ }
2022-09-20 18:54:57 +03:00
create_base
# No sys/wwid, lvm uses wwid from sys/vpd
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_NAA "
2022-09-20 18:54:57 +03:00
# no sys/wwid is reported
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
2023-09-14 01:51:58 +03:00
grep " $DEV1_NAA " " $DF "
2022-09-20 18:54:57 +03:00
cleanup_sysfs
# Kernel changes the type printed from sys/wwid from t10 to naa
# after lvm has used sys_wwid with the t10 value.
# set sys/wwid to t10 value
# add dev to df, it uses t10 value
# change sys/wwid to naa value
# reporting pvs should still find the dev based on using vpd data
# and find the t10 value there
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_T10 "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
grep sys_wwid " $DF "
grep " $DEV1_T10 " " $DF "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
# kernel changes what it reports from sys/wwid
2023-09-14 01:51:58 +03:00
echo " $DEV1_NAA " > " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2022-09-20 18:54:57 +03:00
# lvm finds the original t10 id in vpd
pvs " $DEV1 "
cleanup_sysfs
# User chooses wwid type other than is printed from sys/wwid
# set sys/wwid to t10|naa|eui value
# lvmdevices --adddev using --deviceidtype different from sys/wwid
# df entry uses the specified type
# reporting pvs should show the pv
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_T10 "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 " --deviceidtype wwid_naa
2023-09-14 01:51:58 +03:00
cat " $DF "
grep wwid_naa " $DF "
grep " $DEV1_NAA " " $DF "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
lvmdevices --deldev " $DEV1 "
lvmdevices --addpvid " $PVID1 " --deviceidtype wwid_naa
2023-09-14 01:51:58 +03:00
cat " $DF "
grep " $DEV1_NAA " " $DF "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
lvmdevices --deldev " $DEV1 "
lvmdevices --adddev " $DEV1 " --deviceidtype wwid_eui
2023-09-14 01:51:58 +03:00
cat " $DF "
grep wwid_eui " $DF "
grep " $DEV1_EUI " " $DF "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
cleanup_sysfs
2023-09-14 01:51:58 +03:00
# Any of the vpd wwids can be used in the devices file
2022-09-20 18:54:57 +03:00
# with type sys_wwid and the device will be matched to
# it by finding that wwid in the vpd data.
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_NAA "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
cleanup_sysfs
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_NAA2 "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
cleanup_sysfs
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_NAA3 "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
cleanup_sysfs
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_EUI "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
cleanup_sysfs
2023-09-14 01:51:58 +03:00
setup_sysfs " $DEV1_T10 "
rm " $DF "
2022-09-20 18:54:57 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2022-09-20 18:54:57 +03:00
pvs " $DEV1 "
cleanup_sysfs
2022-11-21 19:57:30 +03:00
# Test nvme wwid that starts with "nvme" instead of naa/eui/t10
2023-09-14 01:51:58 +03:00
rm " $DF "
2022-11-21 19:57:30 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 "
echo "nvme.111111111111111111122222222222333333333333333-44444444444444444445555555555556666666666666666662-00000001" > " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /wwid "
2022-11-21 19:57:30 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
2022-11-21 19:57:30 +03:00
vgcreate $vg " $DEV1 "
lvcreate -l1 -an $vg
2023-09-14 01:51:58 +03:00
cat " $DF "
2022-11-21 19:57:30 +03:00
pvs -o+deviceidtype,deviceid " $DEV1 " | tee out
grep sys_wwid out
grep nvme.111 out
2023-09-14 01:51:58 +03:00
grep sys_wwid " $DF "
grep nvme.111 " $DF "
2022-11-21 19:57:30 +03:00
lvmdevices --deldev " $DEV1 "
not lvmdevices --adddev " $DEV1 " --deviceidtype wwid_eui
lvmdevices --adddev " $DEV1 " --deviceidtype sys_wwid
lvmdevices | grep nvme.111
lvremove -y $vg
2023-09-14 01:51:58 +03:00
sleep .1
2022-11-21 19:57:30 +03:00
lvs $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /wwid "
2022-11-21 19:57:30 +03:00
cleanup_sysfs
2022-09-20 18:54:57 +03:00
2023-02-06 21:18:55 +03:00
# Test t10 wwid containing quote
2023-09-14 01:51:58 +03:00
rm " $DF "
2023-02-06 21:18:55 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
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 "
2023-02-06 21:18:55 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-02-06 21:18:55 +03:00
vgcreate $vg " $DEV1 "
lvcreate -l1 -an $vg
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-02-06 21:18:55 +03:00
# 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
2023-09-14 01:51:58 +03:00
grep sys_wwid " $DF "
2023-02-06 21:18:55 +03:00
# the quote is removed after the 5
2023-09-14 01:51:58 +03:00
grep 2.5_SATA_SSD " $DF "
2023-02-06 21:18:55 +03:00
lvremove -y $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-02-06 21:18:55 +03:00
cleanup_sysfs
2023-05-19 20:52:48 +03:00
# Test t10 wwid with trailing space and line feed at the end
2023-09-14 01:51:58 +03:00
rm " $DF "
2023-05-19 20:52:48 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device "
2023-05-19 20:52:48 +03:00
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 \
2023-09-14 01:51:58 +03:00
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 "
2023-05-19 20:52:48 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-05-19 20:52:48 +03:00
vgcreate $vg " $DEV1 "
lvcreate -l1 -an $vg
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-05-19 20:52:48 +03:00
# check wwid string in metadata output
pvs -o+deviceidtype,deviceid " $DEV1 " | tee out
grep sys_wwid out
# check wwid string in system.devices
2023-09-14 01:51:58 +03:00
grep sys_wwid " $DF "
2023-05-19 20:52:48 +03:00
lvremove -y $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-05-19 20:52:48 +03:00
cleanup_sysfs
# Test t10 wwid with trailing space at the end that was created by 9.0/9.1
2023-09-14 01:51:58 +03:00
rm " $DF "
2023-05-19 20:52:48 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device "
2023-05-19 20:52:48 +03:00
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 \
2023-09-14 01:51:58 +03:00
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 "
2023-05-19 20:52:48 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-05-19 20:52:48 +03:00
vgcreate $vg " $DEV1 "
2023-09-14 01:51:58 +03:00
eval " $( pvs --noheading --nameprefixes -o uuid " $DEV1 " ) "
PVID1 = ${ LVM2_PV_UUID //-/ }
2023-05-19 20:52:48 +03:00
T10_WWID_RHEL91 = "t10.ATA_____VBOX_HARDDISK___________________________VB9c10d318-188d9ebc_"
lvcreate -l1 -an $vg
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-05-19 20:52:48 +03:00
# check wwid string in metadata output
pvs -o+deviceidtype,deviceid " $DEV1 " | tee out
grep sys_wwid out
# check wwid string in system.devices
2023-09-14 01:51:58 +03:00
grep sys_wwid " $DF "
2023-05-19 20:52:48 +03:00
# Replace IDNAME with the IDNAME that 9.0/9.1 created from this wwid
2023-09-14 01:51:58 +03:00
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 "
2023-05-19 20:52:48 +03:00
vgs
pvs
pvs -o+deviceidtype,deviceid " $DEV1 "
# Removing the trailing _ which should then work
2023-09-14 01:51:58 +03:00
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 "
2023-05-19 20:52:48 +03:00
vgs
pvs
pvs -o+deviceidtype,deviceid " $DEV1 "
lvremove -y $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-05-19 20:52:48 +03:00
cleanup_sysfs
# test a t10 wwid that has actual trailing underscore which
# is followed by a trailing space.
2023-09-14 01:51:58 +03:00
rm " $DF "
2023-05-19 20:52:48 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device "
2023-05-19 20:52:48 +03:00
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 \
2023-09-14 01:51:58 +03:00
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 "
2023-05-19 20:52:48 +03:00
# 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 "
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-05-19 20:52:48 +03:00
vgcreate $vg " $DEV1 "
2023-09-14 01:51:58 +03:00
eval " $( pvs --noheading --nameprefixes -o uuid " $DEV1 " ) "
PVID1 = ${ LVM2_PV_UUID //-/ }
2023-05-19 20:52:48 +03:00
lvcreate -l1 -an $vg
2023-09-14 01:51:58 +03:00
cat " $DF "
2023-05-19 20:52:48 +03:00
# check wwid string in metadata output
pvs -o+deviceidtype,deviceid " $DEV1 " | tee out
grep sys_wwid out
# check wwid string in system.devices
2023-09-14 01:51:58 +03:00
grep sys_wwid " $DF "
2023-05-19 20:52:48 +03:00
# Replace IDNAME with the IDNAME that 9.0/9.1 created from this wwid
2023-09-14 01:51:58 +03:00
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 "
2023-05-19 20:52:48 +03:00
vgs
pvs
pvs -o+deviceidtype,deviceid " $DEV1 "
lvremove -y $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-06-15 21:58:48 +03:00
cleanup_sysfs
#
# Test trailing/leading/center spaces in sys_wwid and sys_serial device
# ids, and that old system.devices files that have trailing/leading
# underscores are understood.
#
2023-09-14 01:51:58 +03:00
rm " $DF "
2023-06-15 21:58:48 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device "
echo -n " s123 456 " > " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/serial "
2023-06-15 21:58:48 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
grep "IDNAME=s123__456 DEVNAME" " $DF "
2023-06-15 21:58:48 +03:00
vgcreate $vg " $DEV1 "
2023-09-14 01:51:58 +03:00
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 "
2023-06-15 21:58:48 +03:00
vgs
pvs -o+deviceidtype,deviceid " $DEV1 "
lvremove -y $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/serial "
2023-05-19 20:52:48 +03:00
cleanup_sysfs
2023-09-14 01:51:58 +03:00
rm " $DF "
2023-06-15 21:58:48 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device "
echo -n " t10.123 456 " > " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-06-15 21:58:48 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
grep "IDNAME=t10.123_456 DEVNAME" " $DF "
2023-06-15 21:58:48 +03:00
vgcreate $vg " $DEV1 "
2023-09-14 01:51:58 +03:00
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 "
2023-06-15 21:58:48 +03:00
vgs
pvs -o+deviceidtype,deviceid " $DEV1 "
lvremove -y $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-06-15 21:58:48 +03:00
cleanup_sysfs
2023-09-14 01:51:58 +03:00
rm " $DF "
2023-06-15 21:58:48 +03:00
aux wipefs_a " $DEV1 "
2023-09-14 01:51:58 +03:00
mkdir -p " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device "
echo -n " naa.123 456 " > " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-06-15 21:58:48 +03:00
lvmdevices --adddev " $DEV1 "
2023-09-14 01:51:58 +03:00
cat " $DF "
grep "IDNAME=naa.123__456 DEVNAME" " $DF "
2023-06-15 21:58:48 +03:00
vgcreate $vg " $DEV1 "
2023-09-14 01:51:58 +03:00
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 "
2023-06-15 21:58:48 +03:00
vgs
pvs -o+deviceidtype,deviceid " $DEV1 "
lvremove -y $vg
vgremove $vg
2023-09-14 01:51:58 +03:00
rm " $SYS_DIR /dev/block/ $MAJOR1 : $MINOR1 /device/wwid "
2023-06-15 21:58:48 +03:00
cleanup_sysfs
2023-05-19 20:52:48 +03:00
2022-09-20 18:54:57 +03:00
# TODO: lvmdevices --adddev <dev> --deviceidtype <type> --deviceid <val>
# This would let the user specify the second naa wwid.
remove_base