Index: chromeos/dbus/cros_disks_client.cc |
diff --git a/chromeos/dbus/cros_disks_client.cc b/chromeos/dbus/cros_disks_client.cc |
index 298657f7658f8e9e07b1dc41b0a5a3710a7fe019..47f961d3cca084115b00520d142c4fbc5b7b755c 100644 |
--- a/chromeos/dbus/cros_disks_client.cc |
+++ b/chromeos/dbus/cros_disks_client.cc |
@@ -37,6 +37,7 @@ const char* kDefaultMountOptions[] = { |
}; |
const char kReadOnlyOption[] = "ro"; |
const char kReadWriteOption[] = "rw"; |
+const char kRemountOption[] = "remount"; |
const char kMountLabelOption[] = "mountlabel"; |
const char* kDefaultUnmountOptions[] = { |
@@ -104,6 +105,7 @@ class CrosDisksClientImpl : public CrosDisksClient { |
const std::string& source_format, |
const std::string& mount_label, |
MountAccessMode access_mode, |
+ RemountOption remount, |
const base::Closure& callback, |
const base::Closure& error_callback) override { |
dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
@@ -112,7 +114,7 @@ class CrosDisksClientImpl : public CrosDisksClient { |
writer.AppendString(source_path); |
writer.AppendString(source_format); |
std::vector<std::string> mount_options = |
- ComposeMountOptions(mount_label, access_mode); |
+ ComposeMountOptions(mount_label, access_mode, remount); |
writer.AppendArrayOfStrings(mount_options); |
proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
base::Bind(&CrosDisksClientImpl::OnMount, |
@@ -655,7 +657,8 @@ base::FilePath CrosDisksClient::GetRemovableDiskMountPoint() { |
// static |
std::vector<std::string> CrosDisksClient::ComposeMountOptions( |
const std::string& mount_label, |
- MountAccessMode access_mode) { |
+ MountAccessMode access_mode, |
+ RemountOption remount) { |
std::vector<std::string> mount_options( |
kDefaultMountOptions, |
kDefaultMountOptions + arraysize(kDefaultMountOptions)); |
@@ -667,6 +670,9 @@ std::vector<std::string> CrosDisksClient::ComposeMountOptions( |
mount_options.push_back(kReadWriteOption); |
break; |
} |
+ if (remount == REMOUNT_OPTION_REMOUNT_EXISTING_DEVICE) { |
+ mount_options.push_back(kRemountOption); |
+ } |
if (!mount_label.empty()) { |
std::string mount_label_option = |