summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfinnur <finnur@chromium.org>2015-06-30 02:05:02 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-30 09:06:13 +0000
commit617c3493bce69cf381167e563270f2b91aace0cd (patch)
tree803392ddfa389b53f31af34112fc5179ec6257de
parentb171697645e08caa930213c10645c51ea28beca3 (diff)
downloadchromium_src-617c3493bce69cf381167e563270f2b91aace0cd.zip
chromium_src-617c3493bce69cf381167e563270f2b91aace0cd.tar.gz
chromium_src-617c3493bce69cf381167e563270f2b91aace0cd.tar.bz2
Revert of Unmount SD card when the device is suspended. (patchset #2 id:60001 of https://codereview.chromium.org/1208823002/)
Reason for revert: Reverting due to compile failure (on ChromiumOS x86-generic Compile): http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20x86-generic%20Compile/builds/1668 Original issue's description: > Unmount SD card when the device is suspended. > > SuspendUnmountManager unmounts USB devices when the device goes to suspend to > ensure it runs fsync before suspend. The CL let the class unmount SD card as > well. > > BUG=434372 > TEST=SuspendUnmountManagerTest > > Committed: https://crrev.com/917537c881d749152267d30b49c5b48431c1bb28 > Cr-Commit-Position: refs/heads/master@{#336741} TBR=stevenjb@chromium.org,chirantan@chromium.org,hirono@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=434372 Review URL: https://codereview.chromium.org/1217813008 Cr-Commit-Position: refs/heads/master@{#336746}
-rw-r--r--chromeos/disks/suspend_unmount_manager.cc3
-rw-r--r--chromeos/disks/suspend_unmount_manager_unittest.cc69
2 files changed, 16 insertions, 56 deletions
diff --git a/chromeos/disks/suspend_unmount_manager.cc b/chromeos/disks/suspend_unmount_manager.cc
index cff1755..dfed1ed 100644
--- a/chromeos/disks/suspend_unmount_manager.cc
+++ b/chromeos/disks/suspend_unmount_manager.cc
@@ -31,8 +31,7 @@ void SuspendUnmountManager::SuspendImminent() {
return;
std::set<std::string> mount_paths;
for (const auto& pair : disk_mount_manager_->disks()) {
- if ((pair.second->device_type() == DEVICE_TYPE_USB ||
- pair.second->device_type() == DEVICE_TYPE_SD) &&
+ if (pair.second->device_type() == DEVICE_TYPE_USB &&
!pair.second->mount_path().empty()) {
mount_paths.insert(pair.second->mount_path());
}
diff --git a/chromeos/disks/suspend_unmount_manager_unittest.cc b/chromeos/disks/suspend_unmount_manager_unittest.cc
index 8aba132..d6a8ef8 100644
--- a/chromeos/disks/suspend_unmount_manager_unittest.cc
+++ b/chromeos/disks/suspend_unmount_manager_unittest.cc
@@ -2,10 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include <algorithm>
-#include <string>
-#include <vector>
-
#include "chromeos/dbus/fake_power_manager_client.h"
#include "chromeos/disks/disk_mount_manager.h"
#include "chromeos/disks/mock_disk_mount_manager.h"
@@ -16,17 +12,10 @@ namespace chromeos {
namespace disks {
namespace {
-const char kDeviceId[] = "device_id";
-const char kDeviceLabel[] = "device_label";
-const char kVendor[] = "vendor";
-const char kProduct[] = "product";
-
class FakeDiskMountManager : public MockDiskMountManager {
public:
void NotifyUnmountDeviceComplete(MountError error) const {
- for (const UnmountPathCallback& callback : callbacks_) {
- callback.Run(error);
- }
+ callback_.Run(error);
}
const std::vector<std::string>& unmounting_mount_paths() const {
@@ -38,10 +27,10 @@ class FakeDiskMountManager : public MockDiskMountManager {
UnmountOptions options,
const UnmountPathCallback& callback) override {
unmounting_mount_paths_.push_back(mount_path);
- callbacks_.push_back(callback);
+ callback_ = callback;
}
std::vector<std::string> unmounting_mount_paths_;
- std::vector<UnmountPathCallback> callbacks_;
+ UnmountPathCallback callback_;
};
class SuspendUnmountManagerTest : public testing::Test {
@@ -57,63 +46,36 @@ class SuspendUnmountManagerTest : public testing::Test {
};
TEST_F(SuspendUnmountManagerTest, Basic) {
- const std::string kDummyMountPathUsb = "/dummy/mount/usb";
- const std::string kDummyMountPathSd = "/dummy/mount/sd";
- const std::string kDummyMountPathUnknown = "/dummy/mount/unknown";
- disk_mount_manager_.CreateDiskEntryForMountDevice(
- chromeos::disks::DiskMountManager::MountPointInfo(
- "/dummy/device/usb", kDummyMountPathUsb, chromeos::MOUNT_TYPE_DEVICE,
- chromeos::disks::MOUNT_CONDITION_NONE),
- kDeviceId, kDeviceLabel, kVendor, kProduct, chromeos::DEVICE_TYPE_USB,
- 1024 * 1024, false /* is_parent */, false /* has_media */,
- false /* on_boot_device */, true /* on_removable_device */);
+ const std::string dummy_mount_path = "/dummy/mount";
disk_mount_manager_.CreateDiskEntryForMountDevice(
chromeos::disks::DiskMountManager::MountPointInfo(
- "/dummy/device/sd", kDummyMountPathSd, chromeos::MOUNT_TYPE_DEVICE,
+ "/dummy/device", dummy_mount_path, chromeos::MOUNT_TYPE_DEVICE,
chromeos::disks::MOUNT_CONDITION_NONE),
- kDeviceId, kDeviceLabel, kVendor, kProduct, chromeos::DEVICE_TYPE_SD,
- 1024 * 1024, false /* is_parent */, false /* has_media */,
- false /* on_boot_device */, true /* on_removable_device */);
- disk_mount_manager_.CreateDiskEntryForMountDevice(
- chromeos::disks::DiskMountManager::MountPointInfo(
- "/dummy/device/unknown", kDummyMountPathUnknown,
- chromeos::MOUNT_TYPE_DEVICE, chromeos::disks::MOUNT_CONDITION_NONE),
- kDeviceId, kDeviceLabel, kVendor, kProduct, chromeos::DEVICE_TYPE_UNKNOWN,
- 1024 * 1024, false /* is_parent */, false /* has_media */,
- false /* on_boot_device */, true /* on_removable_device */);
+ "device_id", "device_label", "Vendor", "Product",
+ chromeos::DEVICE_TYPE_USB, 1024 * 1024, true, true, true, false);
disk_mount_manager_.SetupDefaultReplies();
fake_power_client_.SendSuspendImminent();
EXPECT_EQ(1, fake_power_client_.GetNumPendingSuspendReadinessCallbacks());
- EXPECT_EQ(2u, disk_mount_manager_.unmounting_mount_paths().size());
- EXPECT_EQ(1u, std::count(disk_mount_manager_.unmounting_mount_paths().begin(),
- disk_mount_manager_.unmounting_mount_paths().end(),
- kDummyMountPathUsb));
- EXPECT_EQ(1u, std::count(disk_mount_manager_.unmounting_mount_paths().begin(),
- disk_mount_manager_.unmounting_mount_paths().end(),
- kDummyMountPathSd));
- EXPECT_EQ(0u, std::count(disk_mount_manager_.unmounting_mount_paths().begin(),
- disk_mount_manager_.unmounting_mount_paths().end(),
- kDummyMountPathUnknown));
+ ASSERT_EQ(1u, disk_mount_manager_.unmounting_mount_paths().size());
+ EXPECT_EQ(dummy_mount_path, disk_mount_manager_.unmounting_mount_paths()[0]);
disk_mount_manager_.NotifyUnmountDeviceComplete(MOUNT_ERROR_NONE);
EXPECT_EQ(0, fake_power_client_.GetNumPendingSuspendReadinessCallbacks());
}
TEST_F(SuspendUnmountManagerTest, CancelAndSuspendAgain) {
- const std::string kDummyMountPath = "/dummy/mount";
+ const std::string dummy_mount_path = "/dummy/mount";
disk_mount_manager_.CreateDiskEntryForMountDevice(
chromeos::disks::DiskMountManager::MountPointInfo(
- "/dummy/device", kDummyMountPath, chromeos::MOUNT_TYPE_DEVICE,
+ "/dummy/device", dummy_mount_path, chromeos::MOUNT_TYPE_DEVICE,
chromeos::disks::MOUNT_CONDITION_NONE),
- kDeviceId, kDeviceLabel, kVendor, kProduct, chromeos::DEVICE_TYPE_USB,
- 1024 * 1024, false /* is_parent */, false /* has_media */,
- false /* on_boot_device */, true /* on_removable_device */);
+ "device_id", "device_label", "Vendor", "Product",
+ chromeos::DEVICE_TYPE_USB, 1024 * 1024, true, true, true, false);
disk_mount_manager_.SetupDefaultReplies();
fake_power_client_.SendSuspendImminent();
EXPECT_EQ(1, fake_power_client_.GetNumPendingSuspendReadinessCallbacks());
ASSERT_EQ(1u, disk_mount_manager_.unmounting_mount_paths().size());
- EXPECT_EQ(kDummyMountPath,
- disk_mount_manager_.unmounting_mount_paths().front());
+ EXPECT_EQ(dummy_mount_path, disk_mount_manager_.unmounting_mount_paths()[0]);
// Suspend cancelled.
fake_power_client_.SendSuspendDone();
@@ -121,8 +83,7 @@ TEST_F(SuspendUnmountManagerTest, CancelAndSuspendAgain) {
// Suspend again.
fake_power_client_.SendSuspendImminent();
ASSERT_EQ(2u, disk_mount_manager_.unmounting_mount_paths().size());
- EXPECT_EQ(kDummyMountPath,
- disk_mount_manager_.unmounting_mount_paths().front());
+ EXPECT_EQ(dummy_mount_path, disk_mount_manager_.unmounting_mount_paths()[1]);
}
} // namespace