[Ovirt-devel] [PATCH node][REPOST 2/2] Remove dependencies on /dev/disk/by-label entries

Joey Boggs jboggs at redhat.com
Wed Mar 24 15:11:04 UTC 2010


On 03/24/2010 09:03 AM, Mike Burns wrote:
> 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..d545878 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
>    
ACK




More information about the ovirt-devel mailing list