From: Jeff Sharkey Date: Wed, 29 Apr 2015 22:22:23 +0000 (-0700) Subject: Update primary symlinks after mounting. X-Git-Tag: android-x86-6.0-r1~88 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1bfb375f;p=android-x86%2Fsystem-vold.git 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 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));