diff --git a/prebuilt/common/bin/backuptool.sh b/prebuilt/common/bin/backuptool.sh index 39666cec..85f800e5 100755 --- a/prebuilt/common/bin/backuptool.sh +++ b/prebuilt/common/bin/backuptool.sh @@ -140,9 +140,15 @@ restore_file() { fi } +# don't (u)mount system if already done +UMOUNT=0 + case "$1" in backup) - mount $S + if [ ! -f "$S/build.prop" ]; then + mount $S + UMOUNT=1 + fi check_prereq; check_installscript; if [ $PROCEED -ne 0 ]; @@ -155,9 +161,15 @@ case "$1" in done done fi - umount $S + if [ $UMOUNT -ne 0 ]; then + umount $S + fi ;; restore) + if [ ! -f "$S/build.prop" ]; then + mount $S + UMOUNT=1 + fi check_prereq; check_installscript; if [ $PROCEED -ne 0 ]; @@ -171,6 +183,10 @@ case "$1" in done rm -rf $C fi + if [ $UMOUNT -ne 0 ]; then + umount $S + fi + sync ;; *) echo "Usage: $0 {backup|restore}"