Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35d5c94b authored by Akilesh Kailash's avatar Akilesh Kailash
Browse files

libsnapshot: Enable snapshots during OTA install for S vendor



ro.virtual_ab.userspace.snapshots.enabled is a vendor property which isn't present in Android S. Hence, during OTA install with S vendor, userspace_snapshots is disabled.

However, both update_engine and snapuserd are already on the system partition during install. Hence, forcefully enable userspace_snapshots if this is a path of legacy dm-snapshots with Vendor on Android S.


Bug: 331156940
Test: OTA tests on treehugger, pixel OTA
Change-Id: I3d1c03493d83e670e37df088d4b676c4aa1dc720
Signed-off-by: default avatarAkilesh Kailash <akailash@google.com>
parent da9db4f3
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -3288,8 +3288,11 @@ Return SnapshotManager::CreateUpdateSnapshots(const DeltaArchiveManifest& manife
        }
    }

    LOG(INFO) << "userspace snapshots: " << userspace_snapshots
              << " legacy_snapuserd: " << legacy_compression;
    if (!userspace_snapshots && is_legacy_snapuserd && legacy_compression) {
        userspace_snapshots = true;
        LOG(INFO) << "Vendor from Android 12. Enabling userspace snapshot for OTA install";
    }

    const bool using_snapuserd = userspace_snapshots || legacy_compression;
    if (!using_snapuserd) {
        LOG(INFO) << "Using legacy Virtual A/B (dm-snapshot)";
@@ -3389,6 +3392,7 @@ Return SnapshotManager::CreateUpdateSnapshots(const DeltaArchiveManifest& manife
        }

        if (is_legacy_snapuserd) {
            LOG(INFO) << "Setting legacy_snapuserd to true";
            status.set_legacy_snapuserd(true);
        }
    } else if (legacy_compression) {