Remove coldboot from vold

coldboot is now taken care by ueventd, so removing the duplicate
logic to save boottime.
This CL also fixes a missing lock.


Bug: 33786699
Test: manual
Change-Id: I71270252f3153abc815d142b5da7a9cb85b94dac
diff --git a/VolumeManager.cpp b/VolumeManager.cpp
index 2085ca8..4a649bb 100644
--- a/VolumeManager.cpp
+++ b/VolumeManager.cpp
@@ -350,6 +350,7 @@
 }
 
 void VolumeManager::addDiskSource(const std::shared_ptr<DiskSource>& diskSource) {
+    std::lock_guard<std::mutex> lock(mLock);
     mDiskSources.push_back(diskSource);
 }
 
diff --git a/main.cpp b/main.cpp
index 68477ac..4810d43 100644
--- a/main.cpp
+++ b/main.cpp
@@ -36,11 +36,9 @@
 #include <sys/types.h>
 #include <getopt.h>
 #include <fcntl.h>
-#include <dirent.h>
 #include <fs_mgr.h>
 
 static int process_config(VolumeManager *vm, bool* has_adoptable);
-static void coldboot(const char *path);
 static void parse_args(int argc, char** argv);
 
 struct fstab *fstab;
@@ -117,9 +115,6 @@
         exit(1);
     }
 
-    coldboot("/sys/block");
-//    coldboot("/sys/class/switch");
-
     /*
      * Now that we're up, we can respond to commands
      */
@@ -139,7 +134,7 @@
 
     // Eventually we'll become the monitoring thread
     while(1) {
-        sleep(1000);
+        pause();
     }
 
     LOG(ERROR) << "Vold exiting";
@@ -170,49 +165,6 @@
     CHECK(android::vold::sFsckUntrustedContext != nullptr);
 }
 
-static void do_coldboot(DIR *d, int lvl) {
-    struct dirent *de;
-    int dfd, fd;
-
-    dfd = dirfd(d);
-
-    fd = openat(dfd, "uevent", O_WRONLY | O_CLOEXEC);
-    if(fd >= 0) {
-        write(fd, "add\n", 4);
-        close(fd);
-    }
-
-    while((de = readdir(d))) {
-        DIR *d2;
-
-        if (de->d_name[0] == '.')
-            continue;
-
-        if (de->d_type != DT_DIR && lvl > 0)
-            continue;
-
-        fd = openat(dfd, de->d_name, O_RDONLY | O_DIRECTORY);
-        if(fd < 0)
-            continue;
-
-        d2 = fdopendir(fd);
-        if(d2 == 0)
-            close(fd);
-        else {
-            do_coldboot(d2, lvl + 1);
-            closedir(d2);
-        }
-    }
-}
-
-static void coldboot(const char *path) {
-    DIR *d = opendir(path);
-    if(d) {
-        do_coldboot(d, 0);
-        closedir(d);
-    }
-}
-
 static int process_config(VolumeManager *vm, bool* has_adoptable) {
     std::string path(android::vold::DefaultFstabPath());
     fstab = fs_mgr_read_fstab(path.c_str());