Don't abort fuse connections for virtiofs.
Android should only abort fuse connections for fuse fs. It shouldn't touch fuse connections for virtiofs. Bug: 162284193 Test: manual - Restart zygote, no 'Transport endpoint is not connected' error. Change-Id: Ie3536734531404e98ad1b6594ab3c52e919b22b7
This commit is contained in:
parent
6845e06ab9
commit
3d98962269
1 changed files with 11 additions and 0 deletions
11
Utils.cpp
11
Utils.cpp
|
@ -1442,6 +1442,17 @@ status_t AbortFuseConnections() {
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
for (const auto& itEntry : fs::directory_iterator("/sys/fs/fuse/connections")) {
|
for (const auto& itEntry : fs::directory_iterator("/sys/fs/fuse/connections")) {
|
||||||
|
std::string fsPath = itEntry.path().string() + "/filesystem";
|
||||||
|
std::string fs;
|
||||||
|
|
||||||
|
// Virtiofs is on top of fuse and there isn't any user space daemon.
|
||||||
|
// Android user space doesn't manage it.
|
||||||
|
if (android::base::ReadFileToString(fsPath, &fs, false) &&
|
||||||
|
android::base::Trim(fs) == "virtiofs") {
|
||||||
|
LOG(INFO) << "Ignore virtiofs connection entry " << itEntry.path().string();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
std::string abortPath = itEntry.path().string() + "/abort";
|
std::string abortPath = itEntry.path().string() + "/abort";
|
||||||
LOG(DEBUG) << "Aborting fuse connection entry " << abortPath;
|
LOG(DEBUG) << "Aborting fuse connection entry " << abortPath;
|
||||||
bool ret = writeStringToFile("1", abortPath);
|
bool ret = writeStringToFile("1", abortPath);
|
||||||
|
|
Loading…
Reference in a new issue