Comment 33 for bug 1568889

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

@Barry and Pat, as I understand the delta update process, it starts by removing files listed in the "remove" list then unpack everything on top of the system partition. This way to proceed has 2 consequences:
1. It can break at any point once there is no space left. So parsing the log afterwards to report that update failed won't help because depending on when tar failed and which files have been updated, the result is undetermined and there is no guarantee that the system will even boot.
2. Calculating the size of the update on the client side will be extremely expensive. For each file in the tarball, the upgrader would have to calculate the size difference between this file and the same file on the filesystem, sum it and compare to the free space in the system partition.

A possibility would be to calculate the size difference server side, during the calculation of the delta, and store this information in the json index for delta type updates. Then system-image can use this information to decide whether or not an upgrade is possible.