diff options
author | 2016-04-11 06:20:08 +0000 | |
---|---|---|
committer | 2016-04-11 06:20:08 +0000 | |
commit | 8b53c14bc1852fe1dbddd52881e49b1be894f190 (patch) | |
tree | 5a156068b9db4f9bdf17ec7c80c57c293601706e /cmds/installd/installd.cpp | |
parent | 172164ed69608c7b06e1a86642a3084c721ed4a0 (diff) | |
parent | 82b4c7a92cfb2482deb57a328f5eb9c95d5fdc5e (diff) |
Merge "Use inode numbers for CE storage, fix sizes." into nyc-dev
am: 82b4c7a
* commit '82b4c7a92cfb2482deb57a328f5eb9c95d5fdc5e':
Use inode numbers for CE storage, fix sizes.
Change-Id: I1c1afd079765088a03db70d6d558b9f3bdb16e6e
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 a06214b268..9b2d143602 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 }, |