--- hibernate-script-2.0/init.d/hibernate-cleanup.sh.alt 2009-04-01 06:09:28 +0400 +++ hibernate-script-2.0/init.d/hibernate-cleanup.sh 2009-04-06 11:11:34 +0400 @@ -28,13 +28,17 @@ ### END INIT INFO HIBERNATE_FILEWRITER_TRAIL="/var/run/TuxOnIce_filewriter_image_exists" +IS_CLEAN=0 clear_swap() { - local where wason + local where wason ID_FS_UUID ID_FS_LABEL where=$1 wason= + eval $(blkid -o udev $where) + [ -z "$ID_FS_UUID" ] || ID_FS_UUID="-U $ID_FS_UUID" + [ -z "$ID_FS_LABEL" ] || ID_FS_LABEL="-L $ID_FS_LABEL" swapoff $where 2>/dev/null && wason=yes - mkswap $where > /dev/null || msg_status " (failed: $?)" + mkswap $ID_FS_LABEL $ID_FS_UUID $where > /dev/null || msg_status " (failed: $?)" [ -n "$wason" ] && swapon $where } @@ -47,6 +51,7 @@ check_swap_sig() { msg_status "$where" clear_swap $where msg_status ", " + IS_CLEAN=1 esac done < /etc/fstab } @@ -77,19 +82,6 @@ do_reload() { : } - - - - - - - - - - - - - msg_status() { echo -n "$1" } @@ -103,6 +95,7 @@ start) msg_status "Invalidating stale software suspend images... " do_start msg "done." + [ $IS_CLEAN -eq 0 ] || swapoff -a; swapon -a ;; stop) do_stop