From: Harald Hoyer Date: Thu, 16 Feb 2012 10:48:17 +0000 (+0100) Subject: dracut-functions: factor out all get_maj_min() variants X-Git-Tag: 017~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c4e48eaea1b31a8c70af43a400eda7948cfecc94;p=thirdparty%2Fdracut.git dracut-functions: factor out all get_maj_min() variants --- diff --git a/dracut-functions b/dracut-functions index 41d752e5d..0b248890f 100755 --- a/dracut-functions +++ b/dracut-functions @@ -212,11 +212,7 @@ find_block_device() { [[ $_dev != ${_dev#UUID=} ]] && _dev=/dev/disk/by-uuid/${_dev#UUID=} [[ $_dev != ${_dev#LABEL=} ]] && _dev=/dev/disk/by-label/${_dev#LABEL=} [[ -b $_dev ]] || return 1 # oops, not a block device. - ls -nLl "$_dev" | { - read _x _x _x _x _maj _min _x - _maj=${_maj//,/} - echo $_maj:$_min - } && return 0 + get_maj_min "$_dev" && return 0 fi done < /etc/fstab @@ -281,11 +277,6 @@ check_block_and_slaves() { return 1 } -get_numeric_dev() { - local _x _maj _min - ls -lH "$1" | { read _x _x _x _x _maj _min _x; printf "%d:%d" ${_maj%%,} $_min; } -} - # ugly workaround for the lvm design # There is no volume group device, # so, there are no slave devices for volume groups. @@ -295,7 +286,7 @@ get_numeric_dev() { check_vol_slaves() { local _lv _vg _pv for i in /dev/mapper/*; do - _lv=$(get_numeric_dev $i) + _lv=$(get_maj_min $i) if [[ $_lv = $2 ]]; then _vg=$(lvm lvs --noheadings -o vg_name $i 2>/dev/null) # strip space @@ -303,7 +294,7 @@ check_vol_slaves() { if [[ $_vg ]]; then for _pv in $(lvm vgs --noheadings -o pv_name "$_vg" 2>/dev/null) do - check_block_and_slaves $1 $(get_numeric_dev $_pv) && return 0 + check_block_and_slaves $1 $(get_maj_min $_pv) && return 0 done fi fi