Revert "libsnapshot: Fix libsnapshot_fuzzer_test."
Revert submission 1935201
Reason for revert: DroidMonitor: Potential culprit for Bug http://b/213259099 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted Changes:
I219f956ba:libsnapshot: Fix libsnapshot_fuzzer_test.
I281937e26:libsnapshot: Fix checks for compression to work wi...
Change-Id: I33731556761cbdf603424fda94117973d3f21e21
diff --git a/fs_mgr/libsnapshot/device_info.cpp b/fs_mgr/libsnapshot/device_info.cpp
index 5c1b291..a6d96ed 100644
--- a/fs_mgr/libsnapshot/device_info.cpp
+++ b/fs_mgr/libsnapshot/device_info.cpp
@@ -19,8 +19,6 @@
#include <fs_mgr_overlayfs.h>
#include <libfiemap/image_manager.h>
-#include "utility.h"
-
namespace android {
namespace snapshot {
@@ -145,9 +143,5 @@
return android::dm::DeviceMapper::Instance();
}
-bool DeviceInfo::UseUserspaceSnapshots() const {
- return IsUserspaceSnapshotsEnabled();
-}
-
} // namespace snapshot
} // namespace android
diff --git a/fs_mgr/libsnapshot/device_info.h b/fs_mgr/libsnapshot/device_info.h
index a07f554..8aefb85 100644
--- a/fs_mgr/libsnapshot/device_info.h
+++ b/fs_mgr/libsnapshot/device_info.h
@@ -41,7 +41,6 @@
std::unique_ptr<IImageManager> OpenImageManager() const override;
bool IsFirstStageInit() const override;
android::dm::IDeviceMapper& GetDeviceMapper() override;
- bool UseUserspaceSnapshots() const override;
void set_first_stage_init(bool value) { first_stage_init_ = value; }
diff --git a/fs_mgr/libsnapshot/include/libsnapshot/mock_device_info.h b/fs_mgr/libsnapshot/include/libsnapshot/mock_device_info.h
index 8c4161c..573a85b 100644
--- a/fs_mgr/libsnapshot/include/libsnapshot/mock_device_info.h
+++ b/fs_mgr/libsnapshot/include/libsnapshot/mock_device_info.h
@@ -34,7 +34,6 @@
MOCK_METHOD(bool, IsFirstStageInit, (), (const, override));
MOCK_METHOD(std::unique_ptr<android::fiemap::IImageManager>, OpenImageManager, (),
(const, override));
- MOCK_METHOD(bool, UseUserspaceSnapshots, (), (const, override));
};
} // namespace android::snapshot
diff --git a/fs_mgr/libsnapshot/include/libsnapshot/snapshot.h b/fs_mgr/libsnapshot/include/libsnapshot/snapshot.h
index f7e37bb..41c6ef5 100644
--- a/fs_mgr/libsnapshot/include/libsnapshot/snapshot.h
+++ b/fs_mgr/libsnapshot/include/libsnapshot/snapshot.h
@@ -111,7 +111,6 @@
virtual bool IsFirstStageInit() const = 0;
virtual std::unique_ptr<IImageManager> OpenImageManager() const = 0;
virtual android::dm::IDeviceMapper& GetDeviceMapper() = 0;
- virtual bool UseUserspaceSnapshots() const = 0;
// Helper method for implementing OpenImageManager.
std::unique_ptr<IImageManager> OpenImageManager(const std::string& gsid_dir) const;
diff --git a/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h b/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h
index 07c3ec5..c3b40dc 100644
--- a/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h
+++ b/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h
@@ -107,7 +107,6 @@
}
bool IsSlotUnbootable(uint32_t slot) { return unbootable_slots_.count(slot) != 0; }
- bool UseUserspaceSnapshots() const override;
void set_slot_suffix(const std::string& suffix) { slot_suffix_ = suffix; }
void set_fake_super(const std::string& path) {
diff --git a/fs_mgr/libsnapshot/snapshot.cpp b/fs_mgr/libsnapshot/snapshot.cpp
index c7c5da1..dfa467e 100644
--- a/fs_mgr/libsnapshot/snapshot.cpp
+++ b/fs_mgr/libsnapshot/snapshot.cpp
@@ -3134,15 +3134,14 @@
.compression_algorithm = compression_algorithm,
};
- cow_creator.userspace_snapshots_enabled = device_->UseUserspaceSnapshots();
- if (cow_creator.userspace_snapshots_enabled) {
- LOG(INFO) << "User-space snapshots enabled, compression = " << compression_algorithm;
- } else {
- LOG(INFO) << "User-space snapshots disabled, compression = " << compression_algorithm;
- }
- is_snapshot_userspace_ = cow_creator.userspace_snapshots_enabled;
+ if (!device()->IsTestDevice()) {
+ cow_creator.userspace_snapshots_enabled = IsUserspaceSnapshotsEnabled();
+ if (cow_creator.userspace_snapshots_enabled) {
+ LOG(INFO) << "User-space snapshots enabled";
+ } else {
+ LOG(INFO) << "User-space snapshots disabled";
+ }
- if ((use_compression || is_snapshot_userspace_) && !device()->IsTestDevice()) {
// Terminate stale daemon if any
std::unique_ptr<SnapuserdClient> snapuserd_client =
SnapuserdClient::Connect(kSnapuserdSocket, 10s);
@@ -3157,8 +3156,17 @@
snapuserd_client_->CloseConnection();
snapuserd_client_ = nullptr;
}
+ } else {
+ cow_creator.userspace_snapshots_enabled = !IsDmSnapshotTestingEnabled();
+ if (cow_creator.userspace_snapshots_enabled) {
+ LOG(INFO) << "User-space snapshots disabled for testing";
+ } else {
+ LOG(INFO) << "User-space snapshots enabled for testing";
+ }
}
+ is_snapshot_userspace_ = cow_creator.userspace_snapshots_enabled;
+
// If compression is enabled, we need to retain a copy of the old metadata
// so we can access original blocks in case they are moved around. We do
// not want to rely on the old super metadata slot because we don't
diff --git a/fs_mgr/libsnapshot/snapshot_fuzz_utils.h b/fs_mgr/libsnapshot/snapshot_fuzz_utils.h
index 63159dc..c1a5af7 100644
--- a/fs_mgr/libsnapshot/snapshot_fuzz_utils.h
+++ b/fs_mgr/libsnapshot/snapshot_fuzz_utils.h
@@ -130,7 +130,6 @@
std::unique_ptr<IImageManager> OpenImageManager() const {
return env_->CheckCreateFakeImageManager();
}
- bool UseUserspaceSnapshots() const override { return false; }
void SwitchSlot() { switched_slot_ = !switched_slot_; }
diff --git a/fs_mgr/libsnapshot/test_helpers.cpp b/fs_mgr/libsnapshot/test_helpers.cpp
index 2cd13e0..e3e3af8 100644
--- a/fs_mgr/libsnapshot/test_helpers.cpp
+++ b/fs_mgr/libsnapshot/test_helpers.cpp
@@ -25,8 +25,6 @@
#include <openssl/sha.h>
#include <payload_consumer/file_descriptor.h>
-#include "utility.h"
-
namespace android {
namespace snapshot {
@@ -322,9 +320,5 @@
return android::base::GetBoolProperty("ro.virtual_ab.enabled", false);
}
-bool TestDeviceInfo::UseUserspaceSnapshots() const {
- return !IsDmSnapshotTestingEnabled();
-}
-
} // namespace snapshot
} // namespace android