diff options
author | 2016-04-11 06:12:36 +0000 | |
---|---|---|
committer | 2016-04-11 06:12:37 +0000 | |
commit | 82b4c7a92cfb2482deb57a328f5eb9c95d5fdc5e (patch) | |
tree | a856a3f6c28d5c09d30cbb5b6b88c4242603b243 /cmds/installd/installd.cpp | |
parent | 4ad5c1414b3cfcbe5b3c3b9f21b42f23d99bafba (diff) | |
parent | 2f720f7ec5c9d0b91defc85878e7330b10f8e89a (diff) |
Merge "Use inode numbers for CE storage, fix sizes." into nyc-dev
Diffstat (limited to 'cmds/installd/installd.cpp')
-rw-r--r-- | cmds/installd/installd.cpp | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/cmds/installd/installd.cpp b/cmds/installd/installd.cpp index de3f54ab6d..c7f4ffcdaa 100644 --- a/cmds/installd/installd.cpp +++ b/cmds/installd/installd.cpp @@ -207,13 +207,13 @@ static int do_migrate_app_data(char **arg, char reply[REPLY_MAX] ATTRIBUTE_UNUSE } static int do_clear_app_data(char **arg, char reply[REPLY_MAX] ATTRIBUTE_UNUSED) { - /* const char *uuid, const char *pkgname, userid_t userid, int flags */ - return clear_app_data(parse_null(arg[0]), arg[1], atoi(arg[2]), atoi(arg[3])); + /* const char *uuid, const char *pkgname, userid_t userid, int flags, ino_t ce_data_inode */ + return clear_app_data(parse_null(arg[0]), arg[1], atoi(arg[2]), atoi(arg[3]), atol(arg[4])); } static int do_destroy_app_data(char **arg, char reply[REPLY_MAX] ATTRIBUTE_UNUSED) { - /* const char *uuid, const char *pkgname, userid_t userid, int flags */ - return destroy_app_data(parse_null(arg[0]), arg[1], atoi(arg[2]), atoi(arg[3])); + /* const char *uuid, const char *pkgname, userid_t userid, int flags, ino_t ce_data_inode */ + return destroy_app_data(parse_null(arg[0]), arg[1], atoi(arg[2]), atoi(arg[3]), atol(arg[4])); } // We use otapreopt_chroot to get into the chroot. @@ -303,11 +303,10 @@ static int do_get_app_size(char **arg, char reply[REPLY_MAX]) { int64_t asecsize = 0; int res = 0; - /* const char *uuid, const char *pkgname, userid_t userid, int flags, - const char *apkpath, const char *libdirpath, const char *fwdlock_apkpath, - const char *asecpath, const char *instruction_set */ - res = get_app_size(parse_null(arg[0]), arg[1], atoi(arg[2]), atoi(arg[3]), arg[4], arg[5], - arg[6], arg[7], arg[8], &codesize, &datasize, &cachesize, &asecsize); + /* const char *uuid, const char *pkgname, int userid, int flags, ino_t ce_data_inode, + const char* code_path */ + res = get_app_size(parse_null(arg[0]), arg[1], atoi(arg[2]), atoi(arg[3]), atol(arg[4]), + arg[5], &codesize, &datasize, &cachesize, &asecsize); /* * Each int64_t can take up 22 characters printed out. Make sure it @@ -318,6 +317,17 @@ static int do_get_app_size(char **arg, char reply[REPLY_MAX]) { return res; } +static int do_get_app_data_inode(char **arg, char reply[REPLY_MAX]) { + ino_t inode = 0; + int res = 0; + + /* const char *uuid, const char *pkgname, int userid, int flags */ + res = get_app_data_inode(parse_null(arg[0]), arg[1], atoi(arg[2]), atoi(arg[3]), &inode); + + snprintf(reply, REPLY_MAX, "%" PRId64, inode); + return res; +} + static int do_move_complete_app(char **arg, char reply[REPLY_MAX] ATTRIBUTE_UNUSED) { /* const char* from_uuid, const char *to_uuid, const char *package_name, const char *data_app_name, appid_t appid, const char* seinfo, @@ -393,10 +403,11 @@ struct cmdinfo cmds[] = { { "create_app_data", 7, do_create_app_data }, { "restorecon_app_data", 6, do_restorecon_app_data }, { "migrate_app_data", 4, do_migrate_app_data }, - { "clear_app_data", 4, do_clear_app_data }, - { "destroy_app_data", 4, do_destroy_app_data }, + { "clear_app_data", 5, do_clear_app_data }, + { "destroy_app_data", 5, do_destroy_app_data }, { "move_complete_app", 7, do_move_complete_app }, - { "get_app_size", 9, do_get_app_size }, + { "get_app_size", 6, do_get_app_size }, + { "get_app_data_inode", 4, do_get_app_data_inode }, { "dexopt", 9, do_dexopt }, { "markbootcomplete", 1, do_mark_boot_complete }, |