Update primary symlinks after mounting.
Since otherwise we might have a stale path.
Bug: 19993667
Change-Id: I099e3dc0c5aa9ab6820cded4f2ae7fd6bf18ea40
diff --git a/CommandListener.cpp b/CommandListener.cpp
index 5021fb1..ec3739c 100644
--- a/CommandListener.cpp
+++ b/CommandListener.cpp
@@ -199,14 +199,14 @@
int mountFlags = (argc > 3) ? atoi(argv[3]) : 0;
userid_t mountUserId = (argc > 4) ? atoi(argv[4]) : -1;
- if (mountFlags & android::vold::VolumeBase::MountFlags::kPrimary) {
- vm->setPrimary(vol);
- }
-
vol->setMountFlags(mountFlags);
vol->setMountUserId(mountUserId);
- return sendGenericOkFail(cli, vol->mount());
+ int res = vol->mount();
+ if (mountFlags & android::vold::VolumeBase::MountFlags::kPrimary) {
+ vm->setPrimary(vol);
+ }
+ return sendGenericOkFail(cli, res);
} else if (cmd == "unmount" && argc > 2) {
// unmount [volId]
diff --git a/VolumeManager.cpp b/VolumeManager.cpp
index 5c4f9af..8f73e63 100755
--- a/VolumeManager.cpp
+++ b/VolumeManager.cpp
@@ -379,6 +379,7 @@
SLOGW("Failed to unlink %s: %s", target.c_str(), strerror(errno));
}
}
+ LOG(DEBUG) << "Linking " << source << " to " << target;
if (TEMP_FAILURE_RETRY(symlink(source.c_str(), target.c_str()))) {
SLOGW("Failed to link %s to %s: %s", source.c_str(), target.c_str(),
strerror(errno));