platform_system_vold/fs
Paul Crowley de2d6201ab Refactor ForkExecvp to improve locking behaviour
Do our own fork/exec rather than using a library. This leads to
many improvements:

- unite the output recording path with the other path
- never concatenate arguments with spaces
- never use the shell
- move setexeccon after fork, so we don't need to take the lock
- general code refactor while we're there

My tests:
- Ensure Marlin device boots and vold_prepare_subdirs is called
successfully
- Try adb shell sm set-virtual-disk true, see that eg sgdisk output is
logged.

weilongping@huawei.com's tests:
- unlock a user's de and ce directory;
- connect to a OTG storage device or a sdcard and ensure the mount logic be successful

Bug: 26735063
Bug: 113796163
Test: details in commit
Change-Id: I0976413529d7cbeebf5b8649660a385f9b036f04
2018-12-06 09:37:02 -08:00
..
Exfat.cpp Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
Exfat.h Add basic exFAT support. 2018-01-19 11:58:43 +09:00
Ext4.cpp Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
Ext4.h clang-format many files. 2018-09-18 15:41:22 -07:00
F2fs.cpp Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
F2fs.h Add f2fs support for private volumes. 2015-06-08 20:21:25 -07:00
Vfat.cpp Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
Vfat.h clang-format many files. 2018-09-18 15:41:22 -07:00