From: Eric Blake Date: Thu, 14 Jul 2011 23:22:53 +0000 (-0600) Subject: save: support bypass-cache flag in libvirt-guests init script X-Git-Tag: v0.9.4-rc1~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=28d182506acda4dda6aa610bc44abb7a16f36c55;p=thirdparty%2Flibvirt.git save: support bypass-cache flag in libvirt-guests init script libvirt-guests is a perfect use case for bypassing the file system cache - lots of filesystem traffic done at system shutdown, where caching is pointless, and startup, where reading large files only once just gets in the way. Make this a configurable option in the init script, but defaulting to existing behavior. * tools/libvirt-guests.sysconf (BYPASS_CACHE): New variable. * tools/libvirt-guests.init.sh (start, suspend_guest): Use it. --- diff --git a/tools/libvirt-guests.init.sh b/tools/libvirt-guests.init.sh index 30f957aa5a..367177ec53 100644 --- a/tools/libvirt-guests.init.sh +++ b/tools/libvirt-guests.init.sh @@ -43,6 +43,7 @@ ON_BOOT=start ON_SHUTDOWN=suspend SHUTDOWN_TIMEOUT=0 START_DELAY=0 +BYPASS_CACHE=0 test -f "$sysconfdir"/sysconfig/libvirt-guests && . "$sysconfdir"/sysconfig/libvirt-guests @@ -143,6 +144,8 @@ start() { fi isfirst=true + bypass= + test "x$BYPASS_CACHE" = x0 || bypass=--bypass-cache while read uri list; do configured=false set -f @@ -172,7 +175,8 @@ start() { else sleep $START_DELAY fi - retval run_virsh "$uri" start "$name" >/dev/null && \ + retval run_virsh "$uri" start $bypass "$name" \ + >/dev/null && \ gettext "done"; echo fi fi @@ -190,8 +194,10 @@ suspend_guest() name=$(guest_name "$uri" "$guest") label=$(eval_gettext "Suspending \$name: ") + bypass= + test "x$BYPASS_CACHE" = x0 || bypass=--bypass-cache printf %s "$label" - run_virsh "$uri" managedsave "$guest" >/dev/null & + run_virsh "$uri" managedsave $bypass "$guest" >/dev/null & virsh_pid=$! while true; do sleep 1 diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf index 37b258ef52..9b8b64fb24 100644 --- a/tools/libvirt-guests.sysconf +++ b/tools/libvirt-guests.sysconf @@ -25,3 +25,8 @@ # number of seconds we're willing to wait for a guest to shut down #SHUTDOWN_TIMEOUT=0 + +# If non-zero, try to bypass the file system cache when saving and +# restoring guests, even though this may give slower operation for +# some file systems. +#BYPASS_CACHE=0