mirror of
https://github.com/dracutdevs/dracut.git
synced 2024-10-26 16:25:20 +03:00
dracut-functions: speed up inst_dir()
This commit is contained in:
parent
bc313467bd
commit
a76dc27801
@ -274,18 +274,18 @@ inst_dir() {
|
||||
local _oldifs="$IFS"
|
||||
local _part
|
||||
local _dir="$1"
|
||||
IFS="/"
|
||||
set -- $_dir
|
||||
IFS=$_oldifs
|
||||
_dir="$@"
|
||||
|
||||
# fast out
|
||||
[[ -e ${initdir}$_dir ]] && return 0
|
||||
|
||||
# iterate over parent directories
|
||||
for _part in $_dir; do
|
||||
[[ $_part ]] || continue
|
||||
_file="$_file/$_part"
|
||||
[[ -e ${initdir}$_file ]] && continue
|
||||
_part=${_dir%/*}
|
||||
while ! [[ -e "${initdir}${_part}" ]]; do
|
||||
_dir="$_part $_dir"
|
||||
_part=${_part%/*}
|
||||
done
|
||||
|
||||
# iterate over parent directories
|
||||
for _file in $_dir; do
|
||||
if [[ -L $_file ]]; then
|
||||
# create link as the original
|
||||
local target=$(readlink -f "$_file")
|
||||
|
Loading…
Reference in New Issue
Block a user