diff options
author | Alex Deymo <deymo@google.com> | 2016-08-22 19:51:59 -0700 |
---|---|---|
committer | Alex Deymo <deymo@google.com> | 2016-08-23 13:05:26 -0700 |
commit | d5c120ed8f5b37d9091f71b8fc2d0d762bcd7971 (patch) | |
tree | f87fc148772d281bb9343660538fad5edc1ec55f /scripts/update_payload/format_utils_unittest.py | |
parent | 4d5fe6401fe4a0fbe342cf9c00cf703649fe9d08 (diff) |
Lazy unmount postinstall if it fails to unmount.
If postinstall forks a new child that's not killed when killing the main
postinstall process or if postinstall makes any other running process to
hold a file descriptor open in the mounted filesystem, the filesystem is
busy an we can't unmount /postinstall. Since the postinstall mountpoint is
fix in Android, we need to force a lazy unmount in order for the process
to succeed in a future run.
This case can only occur when canceling an update during postinstall (for
example if the update was retried from the server) and would otherwise
clear itself after a few unmount retries if the process using the fd
stops using it.
Bug: 31021934
Test: Added native tests to excersice this case.
(cherry picked from commit 5ba93ad42fad1efc40ae2e7abcda9c8793363508)
Change-Id: I3464377b43e2ee79cd7318dbc9d3a62706c6ea6c
Diffstat (limited to 'scripts/update_payload/format_utils_unittest.py')
0 files changed, 0 insertions, 0 deletions