[Ovirt-devel] [PATCH node] add function chkconfig_persist <servicename>
Alan Pevec
apevec at redhat.com
Thu Apr 2 13:27:02 UTC 2009
Since symlinks cannot be persisted, replace symlinks with
hardlinks and persist them.
Signed-off-by: Alan Pevec <apevec at redhat.com>
---
scripts/ovirt-functions | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/scripts/ovirt-functions b/scripts/ovirt-functions
index c5c1a4e..4024efa 100755
--- a/scripts/ovirt-functions
+++ b/scripts/ovirt-functions
@@ -574,6 +574,31 @@ reboot() {
/sbin/reboot
}
+# chkconfig_persist <servicename>
+# since symlinks cannot be persisted, replace symlinks with hardlinks and persist
+chkconfig_persist() {
+ local service=$1
+ if [ -z "$service" ]; then
+ return 1
+ fi
+ cd /etc/rc.d
+ local to_persist=""
+ for f in rc*.d/[S,K]??$service ; do
+ local dir=$(dirname $f)
+ local name=$(basename $f)
+ cd $dir
+ link=$(readlink $name)
+ if [ -e "$link" ]; then
+ rm -f $name
+ ln $link $name
+ to_persist="$to_persist /etc/rc.d/$f"
+ fi
+ cd ..
+ done
+ ovirt_store_config $to_persist
+}
+
+
# execute a function if called as a script, e.g.
# ovirt-functions ovirt_store_config /etc/hosts
--
1.6.0.6
More information about the ovirt-devel
mailing list