|
|
@ -578,11 +578,17 @@ int VolumeManager::remountUid(uid_t uid, const std::string& mode) {
|
|
|
|
_exit(0);
|
|
|
|
_exit(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (TEMP_FAILURE_RETRY(mount(storageSource.c_str(), "/storage",
|
|
|
|
if (TEMP_FAILURE_RETRY(mount(storageSource.c_str(), "/storage",
|
|
|
|
NULL, MS_BIND | MS_REC | MS_SLAVE, NULL)) == -1) {
|
|
|
|
NULL, MS_BIND | MS_REC, NULL)) == -1) {
|
|
|
|
PLOG(ERROR) << "Failed to mount " << storageSource << " for "
|
|
|
|
PLOG(ERROR) << "Failed to mount " << storageSource << " for "
|
|
|
|
<< de->d_name;
|
|
|
|
<< de->d_name;
|
|
|
|
_exit(1);
|
|
|
|
_exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (TEMP_FAILURE_RETRY(mount(NULL, "/storage", NULL,
|
|
|
|
|
|
|
|
MS_REC | MS_SLAVE, NULL)) == -1) {
|
|
|
|
|
|
|
|
PLOG(ERROR) << "Failed to set MS_SLAVE to /storage for "
|
|
|
|
|
|
|
|
<< de->d_name;
|
|
|
|
|
|
|
|
_exit(1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Mount user-specific symlink helper into place
|
|
|
|
// Mount user-specific symlink helper into place
|
|
|
|
userid_t user_id = multiuser_get_user_id(uid);
|
|
|
|
userid_t user_id = multiuser_get_user_id(uid);
|
|
|
|