Use subvolumes instead of cp to restore files, this will speedup
restore and reduce local memory requirements.
After update system will have ROOTFS subvolume located at root volume.
/ -- root volume
/ROOTFS -- subvolume with actual data.
ROOTFS subvolume is set as default one, so it will be transparent to
system after update because mount will mount it at /.
Change-Id: I36d40cf771b8d3cce662aa58fc669fc4c1f1df18
Signed-off-by: Ernest Borowski <e.borowski@samsung.com>
LABEL=${1}
PARTITION=${2}
DIRECTORY=${3}
- "${MOUNT}" -o rw ${PARTITION} ${DIRECTORY}
+ "${MOUNT}" -o subvolid=5,rw "${PARTITION}" "${DIRECTORY}"
mkdir -p "${DIRECTORY}/fota"
- "$BTRFS" subvolume snapshot "$DIRECTORY" "$DIRECTORY/fota/RO_update"
+ "$BTRFS" subvolume snapshot "$DIRECTORY/ROOTFS" "$DIRECTORY/fota/RO_update"
+ "$UMOUNT" "${DIRECTORY}"
+ "$MOUNT" -o rw "${PARTITION}" "${DIRECTORY}"
echo "[Debug] Mounted ${PARTITION} as btrfs"
}
return
fi
NOTIFY "Deleting btrfs snapshot"
- mount -o remount,rw "${MNT_POINT}"
+ umount "${MNT_POINT}"
+ mount -o subvolid=5,rw "${PART}" "${MNT_POINT}"
btrfs subvolume delete "$MNT_POINT"/fota/RO_update
rm -rf "$MNT_POINT/fota/RO_update"
+ umount "${MOUNT_POINT}"
+ mount -o rw "${PART}" "${MNT_POINT}"
}