Merge "fs_mgr_verity: correct dm_target_spec->next"
diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp
index f970e68..e7f1a07 100644
--- a/fastboot/fastboot.cpp
+++ b/fastboot/fastboot.cpp
@@ -1648,8 +1648,7 @@
                     wants_reboot = false;
                     wants_reboot_bootloader = true;
                     skip(1);
-                }
-                if (!strcmp(*argv, "emergency")) {
+                } else if (!strcmp(*argv, "emergency")) {
                     wants_reboot = false;
                     wants_reboot_emergency = true;
                     skip(1);
diff --git a/libcutils/fs.c b/libcutils/fs.c
index 488fdfc..b253b1c 100644
--- a/libcutils/fs.c
+++ b/libcutils/fs.c
@@ -80,7 +80,7 @@
 create:
     create_result = prepare_as_dir
         ? TEMP_FAILURE_RETRY(mkdir(path, mode))
-        : TEMP_FAILURE_RETRY(open(path, O_CREAT | O_CLOEXEC | O_NOFOLLOW | O_RDONLY));
+        : TEMP_FAILURE_RETRY(open(path, O_CREAT | O_CLOEXEC | O_NOFOLLOW | O_RDONLY, 0644));
     if (create_result == -1) {
         if (errno != EEXIST) {
             ALOGE("Failed to %s(%s): %s",
diff --git a/logcat/tests/logcat_test.cpp b/logcat/tests/logcat_test.cpp
index 337861e..10d9e39 100644
--- a/logcat/tests/logcat_test.cpp
+++ b/logcat/tests/logcat_test.cpp
@@ -171,8 +171,8 @@
         if (!ep) {
             continue;
         }
-        static const size_t tag_field_width = 7;
-        ep -= tag_field_width;
+        static const size_t pid_field_width = 7;
+        ep -= pid_field_width;
         *ep = '\0';
         return cp;
     }
@@ -184,14 +184,15 @@
 static size_t inject(ssize_t count) {
     if (count <= 0) return 0;
 
-    static const size_t retry = 3;
+    static const size_t retry = 4;
     size_t errors = retry;
     size_t num = 0;
     for(;;) {
         log_time ts(CLOCK_MONOTONIC);
         if (__android_log_btwrite(0, EVENT_TYPE_LONG, &ts, sizeof(ts)) >= 0) {
             if (++num >= (size_t)count) {
-                sleep(1); // let data settle end-to-end
+                // let data settle end-to-end
+                sleep(3);
                 return num;
             }
             errors = retry;
@@ -211,7 +212,7 @@
         return;
     }
 
-    int tries = 3; // in case run too soon after system start or buffer clear
+    int tries = 4; // in case run too soon after system start or buffer clear
     int count;
 
     do {
@@ -228,6 +229,8 @@
         while (fgetLongTime(buffer, sizeof(buffer), fp)) {
             if (strstr(buffer, " -0700") || strstr(buffer, " -0800")) {
                 ++count;
+            } else {
+                fprintf(stderr, "ts=\"%s\"\n", buffer + 2);
             }
         }
 
@@ -261,7 +264,7 @@
 }
 
 void do_tail(int num) {
-    int tries = 3; // in case run too soon after system start or buffer clear
+    int tries = 4; // in case run too soon after system start or buffer clear
     int count;
 
     do {
@@ -310,7 +313,7 @@
     char *first_timestamp = NULL;
     char *cp;
 
-    int tries = 3; // in case run too soon after system start or buffer clear
+    int tries = 4; // in case run too soon after system start or buffer clear
 
     // Do not be tempted to use -v usec because that increases the
     // chances of an occasional test failure by 1000 (see below).