sdcard: ensure installd fs upgrade has completed
Before running the sdcard daemon, make sure that installd has completed all upgrades to /data that it needs to complete. This avoids race conditions between installd and the sdcard daemon. Maybe fixes bug 16329437. Bug: 16329437 Change-Id: I5e164f08009c1036469f8734ec07cbae9c5e262b
This commit is contained in:
parent
e5ab3e3a4c
commit
8d28fa71fc
|
@ -1856,6 +1856,7 @@ int main(int argc, char **argv)
|
|||
bool split_perms = false;
|
||||
int i;
|
||||
struct rlimit rlim;
|
||||
int fs_version;
|
||||
|
||||
int opt;
|
||||
while ((opt = getopt(argc, argv, "u:g:w:t:dls")) != -1) {
|
||||
|
@ -1930,6 +1931,11 @@ int main(int argc, char **argv)
|
|||
ERROR("Error setting RLIMIT_NOFILE, errno = %d\n", errno);
|
||||
}
|
||||
|
||||
while ((fs_read_atomic_int("/data/.layout_version", &fs_version) == -1) || (fs_version < 3)) {
|
||||
ERROR("installd fs upgrade not yet complete. Waiting...\n");
|
||||
sleep(1);
|
||||
}
|
||||
|
||||
res = run(source_path, dest_path, uid, gid, write_gid, num_threads, derive, split_perms);
|
||||
return res < 0 ? 1 : 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue