diff options
author | 2019-11-18 18:18:24 +0000 | |
---|---|---|
committer | 2019-12-17 14:06:51 +0000 | |
commit | ff9d3ea0424f8be64ff78f52b5d352fa3aeb52c7 (patch) | |
tree | e232811145910895edeb07c7545e9ac987034f6e /cmds/installd/QuotaUtils.cpp | |
parent | af87114fee38f4dcf2f687b8f4b2fdcd702f72d8 (diff) |
Create, mount and unmount app data mirror directory
- When volume is ready, system/installd will
create app data mirror, and bind mount it the actual CE storage for
that app.
- When a new private volume is mounted, DE mirror will be created and
mounted.
- When a private volume is unmounted, all users CE mirror will be
unmounted and DE mirror will be unmounted also.
- Fix inode createAppData() return a wrong inode number in 32bit system.
Bug: 143937733
Bug: 145989852
Test: After reboot, all apps mirror CE directories are created and
mounted
Test: After adding a new private volume, new CE DE mirror for that volume
are created and mounted.
Test: After unmounting a private volume, that vol CE DE mirror are
unmounted.
Change-Id: I8a06ae8917e5f2c7f1f905b73ec934de7f1ee802
Diffstat (limited to 'cmds/installd/QuotaUtils.cpp')
-rw-r--r-- | cmds/installd/QuotaUtils.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cmds/installd/QuotaUtils.cpp b/cmds/installd/QuotaUtils.cpp index b238dd36e3..a71e01c943 100644 --- a/cmds/installd/QuotaUtils.cpp +++ b/cmds/installd/QuotaUtils.cpp @@ -61,6 +61,10 @@ bool InvalidateQuotaMounts() { std::getline(in, target, ' '); std::getline(in, ignored); + if (target.compare(0, 13, "/data_mirror/") == 0) { + continue; + } + if (source.compare(0, 11, "/dev/block/") == 0) { struct dqblk dq; if (quotactl(QCMD(Q_GETQUOTA, USRQUOTA), source.c_str(), 0, |