Merge "Make sure wait for the dm device" am: d70a5feb60 am: 496e667966
am: 8e1a4d6366
Change-Id: Ic1eb4c2fb39b6c695e08fefa6bcc8efc139571b5
diff --git a/fs_mgr/fs_mgr_verity.cpp b/fs_mgr/fs_mgr_verity.cpp
index 7fe6763..031b042 100644
--- a/fs_mgr/fs_mgr_verity.cpp
+++ b/fs_mgr/fs_mgr_verity.cpp
@@ -341,6 +341,17 @@
return 0;
}
+static int test_access(char *device) {
+ int tries = 25;
+ while (tries--) {
+ if (!access(device, F_OK) || errno != ENOENT) {
+ return 0;
+ }
+ usleep(40 * 1000);
+ }
+ return -1;
+}
+
static int check_verity_restart(const char *fname)
{
char buffer[VERITY_KMSG_BUFSIZE + 1];
@@ -1031,6 +1042,11 @@
fstab->blk_device = verity_blk_name;
verity_blk_name = 0;
+ // make sure we've set everything up properly
+ if (test_access(fstab->blk_device) < 0) {
+ goto out;
+ }
+
retval = FS_MGR_SETUP_VERITY_SUCCESS;
out: