From: Mateusz Moscicki Date: Thu, 17 Jun 2021 11:48:52 +0000 (+0200) Subject: Commit data changes after the upgrade success X-Git-Tag: submit/tizen/20210817.140154~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d173eb0c6cbda13ff7d44960b8e57ef7c8bc89f8;p=platform%2Fcore%2Fsystem%2Fsystem-rw-update.git Commit data changes after the upgrade success Change-Id: I87d238fce61ebbabe2710e143edd0b7646c36e96 --- diff --git a/upgrade/update.sh.in b/upgrade/update.sh.in index 2d065dd..4339f95 100755 --- a/upgrade/update.sh.in +++ b/upgrade/update.sh.in @@ -2,7 +2,8 @@ # # System RW Update Script # - +STATUS_FILE="/opt/data/update/RW.STATUS" +STAT="/usr/bin/stat" COLOR_ERROR='\033[01;31m' COLOR_DEBUG='\033[01;34m' COLOR_NOTIFY='\033[01;33m' @@ -64,6 +65,52 @@ SET_UPDATE_RESULT() echo "$1" > ${UPDATE_RESULT_FILE} } +COMMIT_BOW_PARTITION() +{ + LABEL=${1} + + BOWDEV_PATH=/dev/mapper/bowdev_${LABEL} + DM_NUMBER=$(($("${STAT}" -c "0x%T" $(readlink -f ${BOWDEV_PATH})))) + echo 2 > /sys/block/dm-${DM_NUMBER}/bow/state + NOTIFY "Changes on partition ${LABEL} commited (dm-bow)" +} + +COMMIT_F2FS_PARTITION() +{ + LABEL=${1} + PART_DEVICE=${2} + + mount -o remount,checkpoint=enable "${PART_DEVICE}" + NOTIFY "Changes on partition ${LABEL} commited (f2fs)" +} + +COMMIT_PARTITION() +{ + LABEL=${1} + + PART_DEVICE=$(blkid --match-token PARTLABEL="${LABEL}" -o device || blkid --match-token LABEL="${LABEL}" -o device) + if [ -z "${PART_DEVICE}" ]; then + NOTIFY "WARNING: Partition ${LABEL} not found" + return + fi + + TYPE=$(blkid --match-token LABEL="${LABEL}" -o value -s TYPE | tail -n 1) + if [ "${TYPE}" = "ext4" ]; then + COMMIT_BOW_PARTITION "${LABEL}" + elif [ "${TYPE}" = "f2fs" ]; then + COMMIT_F2FS_PARTITION "${LABEL}" ${PART_DEVICE} + else + ERROR "ERROR: Cannot commit ${LABEL}: Unsupported filesystem ${TYPE}" + fi +} + +COMMIT_CHANGES() +{ + rm ${STATUS_FILE} + COMMIT_PARTITION system-data + COMMIT_PARTITION user +} + NOTIFY "----------------------------------------------------------------------" NOTIFY "System RW update: rw update started" @@ -130,5 +177,6 @@ fi /bin/sync NOTIFY "----------------------------------------------------------------------" +COMMIT_CHANGES #Reboot reboot -f