Changeset 523 in MondoRescue


Ignore:
Timestamp:
May 5, 2006, 11:46:38 AM (18 years ago)
Author:
bcornec
Message:

Improvement of the LABEL + swap patch by Michel Loiseleur (<mloiseleur_at_linagora.com>)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/stable/mindi/mindi

    r515 r523  
    13901390    [ "$c_p" = "none" ] && continue
    13911391    absolute_partition=`ResolveSoftlink $c_p`
    1392     partition_mountpt=`tr -s '\t' ' ' < $MY_FSTAB | grep -w "$current_partition" | grep -vx " *#.*" | $AWK '{print $2}' | head -n1`
     1392    partition_mountpt=`tr -s '\t' ' ' < $MY_FSTAB | /bin/grep -w "$current_partition" | /bin/grep -vx " *#.*" | $AWK '{print $2}' | head -n1`
    13931393
    13941394    # This part tries to retrieve the correct device from a LABEL line in /etc/fstab
    13951395    # current_partition contains only first column of /etc/fstab
    1396     redhat_label=""
    13971396    if [ "`echo "$current_partition" | /bin/grep -f -i "LABEL="`" != "" ] ; then
    13981397        str_to_find_fmt_with=$current_partition
     
    14021401        # 1st try : blkid, the good way
    14031402        if [ -x "/sbin/blkid" ] ; then
    1404             actual_dev=`/sbin/blkid | grep "$current_partition" | /bin/cut -d':' -f1`
    1405         fi
     1403            actual_dev=`/sbin/blkid | /bin/grep "$current_partition" | /bin/cut -d':' -f1`
     1404        fi
     1405
    14061406        # 2nd try, which works on a standard partition (ext2/3), but not on swap
    1407         if [ $actual_dev="" ] ; then
     1407        if [ -n $actual_dev ] ; then
    14081408            actual_dev=`/bin/mount -l | /bin/grep " [$redhat_label]" | /bin/cut -d' ' -f1`
    14091409        fi
     1410
    14101411        # 3rd try, with vol_id (which works with swap)
    1411         if [ $actual_dev="" -a -x "/sbin/vol_id" ] ; then
     1412        if [ -n $actual_dev -a -x "/sbin/vol_id" ] ; then
    14121413                list_swaps=`cat /proc/swaps | /bin/grep "/dev/" | /bin/awk '{ print $1 }' `
    14131414                for dev_swap in $list_swaps ; do
    1414                     dev_exists=`/sbin/vol_id $dev_swap | /bin/grep -f "$redhat_label"`
     1415                    dev_exists=`/sbin/vol_id $dev_swap | /bin/grep "$redhat_label"`
    14151416                    if [ -n "$dev_exists" ] ; then
    14161417                        actual_dev=$dev_swap
     
    14191420                done
    14201421        fi
     1422
    14211423        # 4th try : pre-formated LABEL. Format is : LABEL=SWAP-mydevice. e.g. : LABEL=SWAP-hda5
    1422         if [ $actual_dev="" -a  "`echo "$current_partition" | /bin/grep -f -i "LABEL=SWAP"`" != ""] ; then
    1423                 actual_dev="/dev/`echo "$redhat_label" | /bin/cut -d '-' -f2`"
    1424         fi
     1424        if [ -n $actual_dev -a  "`echo "$current_partition" | /bin/grep -i "LABEL=SWAP"`" != ""] ; then
     1425                try_dev="`echo "$redhat_label" | /bin/cut -d '-' -f2`"
     1426                present_dev="`/bin/cat /proc/swaps | /bin/grep -w /dev/$try_dev`"
     1427                if [ -n "$present_dev" ] ; then
     1428                    actual_dev="/dev/$try_dev"
     1429                fi
     1430        fi
     1431
    14251432        # Check if one of all those tries has known success
    1426         if [  $actual_dev != "" ] ; then
     1433        if [ ! -n $actual_dev ] ; then
    14271434                current_partition=$actual_dev
    14281435        else
    1429             Die "Your system uses a labelled swap partition, but you lack the tool to su
    1430 pport it.\nPlease replace swap labels with their correct devices in /etc/fstab\n"
     1436            Die "Your system uses a labelled swap partition, but you lack the tool to support it.\nPlease replace swap labels with their correct devices in /etc/fstab\n"
    14311437        fi
    14321438    else
Note: See TracChangeset for help on using the changeset viewer.