Loading fs_mgr/libsnapshot/snapshot.cpp +16 −4 Original line number Diff line number Diff line Loading @@ -3205,15 +3205,27 @@ Return SnapshotManager::CreateUpdateSnapshots(const DeltaArchiveManifest& manife status.set_compression_enabled(cow_creator.compression_enabled); if (cow_creator.compression_enabled) { if (!device()->IsTestDevice()) { bool userSnapshotsEnabled = IsUserspaceSnapshotsEnabled(); const std::string UNKNOWN = "unknown"; const std::string vendor_release = android::base::GetProperty( "ro.vendor.build.version.release_or_codename", UNKNOWN); // No user-space snapshots if vendor partition is on Android 12 if (vendor_release.find("12") != std::string::npos) { LOG(INFO) << "Userspace snapshots disabled as vendor partition is on Android: " << vendor_release; userSnapshotsEnabled = false; } // Userspace snapshots is enabled only if compression is enabled status.set_userspace_snapshots(IsUserspaceSnapshotsEnabled()); if (IsUserspaceSnapshotsEnabled()) { status.set_userspace_snapshots(userSnapshotsEnabled); if (userSnapshotsEnabled) { is_snapshot_userspace_ = true; status.set_io_uring_enabled(IsIouringEnabled()); LOG(INFO) << "User-space snapshots enabled"; LOG(INFO) << "Userspace snapshots enabled"; } else { is_snapshot_userspace_ = false; LOG(INFO) << "User-space snapshots disabled"; LOG(INFO) << "Userspace snapshots disabled"; } // Terminate stale daemon if any Loading fs_mgr/libsnapshot/snapuserd/dm-snapshot-merge/cow_snapuserd_test.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -932,7 +932,6 @@ void CowSnapuserdMetadataTest::ValidatePartialFilledArea() { ASSERT_EQ(area_sz, 2); size_t new_chunk = 263; // Verify the partially filled area void* buffer = snapuserd_->GetExceptionBuffer(1); loff_t offset = 0; Loading @@ -941,7 +940,6 @@ void CowSnapuserdMetadataTest::ValidatePartialFilledArea() { de = reinterpret_cast<struct disk_exception*>((char*)buffer + offset); ASSERT_EQ(de->old_chunk, i); offset += sizeof(struct disk_exception); new_chunk += 1; } de = reinterpret_cast<struct disk_exception*>((char*)buffer + offset); Loading fs_mgr/libsnapshot/snapuserd/snapuserd_daemon.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,17 @@ namespace android { namespace snapshot { bool Daemon::IsUserspaceSnapshotsEnabled() { const std::string UNKNOWN = "unknown"; const std::string vendor_release = android::base::GetProperty("ro.vendor.build.version.release_or_codename", UNKNOWN); // No user-space snapshots if vendor partition is on Android 12 if (vendor_release.find("12") != std::string::npos) { LOG(INFO) << "Userspace snapshots disabled as vendor partition is on Android: " << vendor_release; return false; } return android::base::GetBoolProperty("ro.virtual_ab.userspace.snapshots.enabled", false); } Loading Loading
fs_mgr/libsnapshot/snapshot.cpp +16 −4 Original line number Diff line number Diff line Loading @@ -3205,15 +3205,27 @@ Return SnapshotManager::CreateUpdateSnapshots(const DeltaArchiveManifest& manife status.set_compression_enabled(cow_creator.compression_enabled); if (cow_creator.compression_enabled) { if (!device()->IsTestDevice()) { bool userSnapshotsEnabled = IsUserspaceSnapshotsEnabled(); const std::string UNKNOWN = "unknown"; const std::string vendor_release = android::base::GetProperty( "ro.vendor.build.version.release_or_codename", UNKNOWN); // No user-space snapshots if vendor partition is on Android 12 if (vendor_release.find("12") != std::string::npos) { LOG(INFO) << "Userspace snapshots disabled as vendor partition is on Android: " << vendor_release; userSnapshotsEnabled = false; } // Userspace snapshots is enabled only if compression is enabled status.set_userspace_snapshots(IsUserspaceSnapshotsEnabled()); if (IsUserspaceSnapshotsEnabled()) { status.set_userspace_snapshots(userSnapshotsEnabled); if (userSnapshotsEnabled) { is_snapshot_userspace_ = true; status.set_io_uring_enabled(IsIouringEnabled()); LOG(INFO) << "User-space snapshots enabled"; LOG(INFO) << "Userspace snapshots enabled"; } else { is_snapshot_userspace_ = false; LOG(INFO) << "User-space snapshots disabled"; LOG(INFO) << "Userspace snapshots disabled"; } // Terminate stale daemon if any Loading
fs_mgr/libsnapshot/snapuserd/dm-snapshot-merge/cow_snapuserd_test.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -932,7 +932,6 @@ void CowSnapuserdMetadataTest::ValidatePartialFilledArea() { ASSERT_EQ(area_sz, 2); size_t new_chunk = 263; // Verify the partially filled area void* buffer = snapuserd_->GetExceptionBuffer(1); loff_t offset = 0; Loading @@ -941,7 +940,6 @@ void CowSnapuserdMetadataTest::ValidatePartialFilledArea() { de = reinterpret_cast<struct disk_exception*>((char*)buffer + offset); ASSERT_EQ(de->old_chunk, i); offset += sizeof(struct disk_exception); new_chunk += 1; } de = reinterpret_cast<struct disk_exception*>((char*)buffer + offset); Loading
fs_mgr/libsnapshot/snapuserd/snapuserd_daemon.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,17 @@ namespace android { namespace snapshot { bool Daemon::IsUserspaceSnapshotsEnabled() { const std::string UNKNOWN = "unknown"; const std::string vendor_release = android::base::GetProperty("ro.vendor.build.version.release_or_codename", UNKNOWN); // No user-space snapshots if vendor partition is on Android 12 if (vendor_release.find("12") != std::string::npos) { LOG(INFO) << "Userspace snapshots disabled as vendor partition is on Android: " << vendor_release; return false; } return android::base::GetBoolProperty("ro.virtual_ab.userspace.snapshots.enabled", false); } Loading