From 1bfb375f77c093a8e16bef4ddeab2681ca126d56 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Wed, 29 Apr 2015 15:22:23 -0700 Subject: [PATCH] Update primary symlinks after mounting. Since otherwise we might have a stale path. Bug: 19993667 Change-Id: I099e3dc0c5aa9ab6820cded4f2ae7fd6bf18ea40 --- CommandListener.cpp | 10 +++++----- VolumeManager.cpp | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CommandListener.cpp b/CommandListener.cpp index 5021fb1..ec3739c 100644 --- a/CommandListener.cpp +++ b/CommandListener.cpp @@ -199,14 +199,14 @@ int CommandListener::VolumeCmd::runCommand(SocketClient *cli, 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 @@ int VolumeManager::linkPrimary(userid_t userId) { 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));