Revert "Revert "Fixup app-private dirs that are not writable.""

Fixup non-writable app-private dirs that could have been left around by
an earlier race condition in the setup of the FUSE filesystem.

Bug: 181726193
Bug: 182088154
Test: erase userdata, check Youtube dirs are fixed up correctly

Reason for revert: fixing issue in original CL

Change-Id: Ifacf807f62dec3c9e22b5e5af0f2b00c4423ede4
This commit is contained in:
Martijn Coenen
2021-04-28 15:21:54 +00:00
parent 20705fdb10
commit d6b7b6b3aa

View File

@@ -3273,6 +3273,13 @@ class ContextImpl extends Context {
dir = null;
}
}
if (dir != null && !dir.canWrite()) {
// Older versions of the MediaProvider mainline module had a rare early boot race
// condition where app-private dirs could be created with the wrong permissions;
// fix this up here. This check should be very fast, because dir.exists() above
// will already have loaded the dentry in the cache.
sm.fixupAppDir(dir);
}
result[i] = dir;
}
return result;