Blame 0009-dracut-functions-speed-up-inst_dir.patch
|
Harald Hoyer |
55891e |
From a76dc2780143a4b04eb33a6699ec2ca7a7898b65 Mon Sep 17 00:00:00 2001
|
|
Harald Hoyer |
55891e |
From: Harald Hoyer <harald@redhat.com>
|
|
Harald Hoyer |
55891e |
Date: Fri, 19 Aug 2011 10:24:49 +0200
|
|
Harald Hoyer |
55891e |
Subject: [PATCH] dracut-functions: speed up inst_dir()
|
|
Harald Hoyer |
55891e |
|
|
Harald Hoyer |
55891e |
---
|
|
Harald Hoyer |
55891e |
dracut-functions | 18 +++++++++---------
|
|
Harald Hoyer |
55891e |
1 files changed, 9 insertions(+), 9 deletions(-)
|
|
Harald Hoyer |
55891e |
|
|
Harald Hoyer |
55891e |
diff --git a/dracut-functions b/dracut-functions
|
|
Harald Hoyer |
55891e |
index 241d89a..d7f2e5f 100755
|
|
Harald Hoyer |
55891e |
--- a/dracut-functions
|
|
Harald Hoyer |
55891e |
+++ b/dracut-functions
|
|
Harald Hoyer |
55891e |
@@ -274,18 +274,18 @@ inst_dir() {
|
|
Harald Hoyer |
55891e |
local _oldifs="$IFS"
|
|
Harald Hoyer |
55891e |
local _part
|
|
Harald Hoyer |
55891e |
local _dir="$1"
|
|
Harald Hoyer |
55891e |
- IFS="/"
|
|
Harald Hoyer |
55891e |
- set -- $_dir
|
|
Harald Hoyer |
55891e |
- IFS=$_oldifs
|
|
Harald Hoyer |
55891e |
- _dir="$@"
|
|
Harald Hoyer |
55891e |
+
|
|
Harald Hoyer |
55891e |
+ # fast out
|
|
Harald Hoyer |
55891e |
[[ -e ${initdir}$_dir ]] && return 0
|
|
Harald Hoyer |
55891e |
|
|
Harald Hoyer |
55891e |
- # iterate over parent directories
|
|
Harald Hoyer |
55891e |
- for _part in $_dir; do
|
|
Harald Hoyer |
55891e |
- [[ $_part ]] || continue
|
|
Harald Hoyer |
55891e |
- _file="$_file/$_part"
|
|
Harald Hoyer |
55891e |
- [[ -e ${initdir}$_file ]] && continue
|
|
Harald Hoyer |
55891e |
+ _part=${_dir%/*}
|
|
Harald Hoyer |
55891e |
+ while ! [[ -e "${initdir}${_part}" ]]; do
|
|
Harald Hoyer |
55891e |
+ _dir="$_part $_dir"
|
|
Harald Hoyer |
55891e |
+ _part=${_part%/*}
|
|
Harald Hoyer |
55891e |
+ done
|
|
Harald Hoyer |
55891e |
|
|
Harald Hoyer |
55891e |
+ # iterate over parent directories
|
|
Harald Hoyer |
55891e |
+ for _file in $_dir; do
|
|
Harald Hoyer |
55891e |
if [[ -L $_file ]]; then
|
|
Harald Hoyer |
55891e |
# create link as the original
|
|
Harald Hoyer |
55891e |
local target=$(readlink -f "$_file")
|