[Ovirt-devel] [PATCH node][RFC] Remove dependencies on /dev/disk/by-label entries
Mike Burns
mburns at redhat.com
Tue Mar 23 23:00:16 UTC 2010
Use findfs LABEL=ABC and mount LABEL=ABC instead.
Signed-off-by: Mike Burns <mburns at redhat.com>
---
scripts/ovirt-config-boot | 29 ++++++++++++++++-------------
scripts/ovirt-config-storage | 2 --
scripts/ovirt-functions | 18 ++++++++++--------
3 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/scripts/ovirt-config-boot b/scripts/ovirt-config-boot
index ac43daa..b1fd469 100755
--- a/scripts/ovirt-config-boot
+++ b/scripts/ovirt-config-boot
@@ -29,14 +29,21 @@ ovirt_boot_setup() {
local disk2
local partN=-1
log "installing the image."
- if [ -h /dev/disk/by-label/Boot ]; then
+ local found_boot=false
+ if findfs LABEL=Boot 2>&1 >/dev/null ; then
+ found_boot=true
+ grub_dev_label=Boot
+ elif findfs LABEL=Root 2>&1 >/dev/null ; then
+ found_boot=true
+ grub_dev_label=Root
+ fi
+ if $found_boot; then
mount_boot
mountpoint /boot
if [ $? -ne 0 ] ; then
log "Boot partition not available"
return 1
fi
- grub_dev_label="Boot"
# Grab OVIRT_ISCSI VARIABLES from boot partition for upgrading
# file created only if OVIRT_ISCSI_ENABLED=y
if [ -f /boot/ovirt ]; then
@@ -50,7 +57,7 @@ ovirt_boot_setup() {
fi
# check that /boot mounted ok and find partition number for GRUB
- get_part_info $(readlink -f /dev/disk/by-label/$grub_dev_label disk partN
+ get_part_info $(readlink -f $(findfs LABEL=$grub_dev_label 2>/dev/null) disk partN
rc=$?
if [ $rc -ne 0 -o $partN -lt 0 ]; then
log "unable to determine Root partition"
@@ -67,11 +74,11 @@ ovirt_boot_setup() {
# prepare Root partition update
candidate=
- if [ -e /dev/disk/by-label/RootBackup ]; then
+ if findfs LABEL=RootBackup 2>&1 >/dev/null; then
candidate=RootBackup
- elif [ -e /dev/disk/by-label/RootUpdate ]; then
+ elif findfs LABEL=RootUpdate 2>&1 >/dev/null; then
candidate=RootUpdate
- elif [ -e /dev/disk/by-label/RootNew ]; then
+ elif findfs LABEL=RootNew 2>&1 >/dev/null; then
candidate=RootNew
fi
if [ -z "$candidate" ]; then
@@ -80,7 +87,7 @@ ovirt_boot_setup() {
umount /liveos
rc=0
else
- candidate_dev=$(readlink -f /dev/disk/by-label/$candidate)
+ candidate_dev=$(findfs LABEL=$candidate 2>/dev/null)
e2label $candidate_dev RootNew
rc=$?
fi
@@ -90,7 +97,7 @@ ovirt_boot_setup() {
return $rc
fi
- mount $candidate_dev /liveos
+ mount $candidate_dev /liveos/
rm -rf /liveos/LiveOS
mkdir -p /liveos/LiveOS
@@ -212,11 +219,7 @@ if [ $rc -eq 0 -a "$doreboot" = "yes" ]; then
ovirt_store_firstboot_config
stop_log
- if [ "$OVIRT_ISCSI_ENABLED" != "y" ]; then
- reboot
- else
- /sbin/reboot
- fi
+ reboot
fi
stop_log
exit $rc
diff --git a/scripts/ovirt-config-storage b/scripts/ovirt-config-storage
index c6473a6..93b94b0 100755
--- a/scripts/ovirt-config-storage
+++ b/scripts/ovirt-config-storage
@@ -703,8 +703,6 @@ perform_partitioning()
log "Creating volume group"
vgcreate /dev/HostVG "${partpv}"
- mkdir -p /dev/disk/by-label
-
if [ "$SWAP_SIZE" -gt 0 ]; then
log "Creating swap partition"
lvcreate --name Swap --size ${SWAP_SIZE}M /dev/HostVG
diff --git a/scripts/ovirt-functions b/scripts/ovirt-functions
index b98e31a..482441a 100644
--- a/scripts/ovirt-functions
+++ b/scripts/ovirt-functions
@@ -283,7 +283,7 @@ mount_liveos() {
return 0
fi
mkdir -p /liveos
- mount /dev/disk/by-label/Root /liveos
+ mount LABEL=Root /liveos
}
# mount config partition
@@ -326,7 +326,7 @@ mount_boot() {
return 0
fi
mkdir -p /boot
- mount /dev/disk/by-label/Boot /boot
+ mount LABEL=Root /boot
}
# stop any service which keeps /var/log busy
# keep the list of services
@@ -709,12 +709,14 @@ lvremove() {
# cleanup before reboot
reboot() {
cd /
- # setup new Root if update is prepared
- if [ -e "/dev/disk/by-label/RootUpdate" ]; then
- root_update_dev=$(readlink -f /dev/disk/by-label/RootUpdate)
- root_dev=$(readlink -f /dev/disk/by-label/Root)
- e2label $root_dev RootBackup
- e2label $root_update_dev Root
+ if [ "$OVIRT_ISCSI_ENABLED" = "yes" ]; then
+ # setup new Root if update is prepared
+ if findfs LABEL=RootUpdate 2>&1 >/dev/null; then
+ root_update_dev=$(findfs LABEL=RootUpdate 2>/dev/null)
+ root_dev=$(findfs LABEL=Root 2>/dev/null)
+ e2label $root_dev RootBackup
+ e2label $root_update_dev Root
+ fi
fi
# run post-install hooks
# e.g. to avoid reboot loops using Cobbler PXE only once
--
1.6.6.1
More information about the ovirt-devel
mailing list