Fail the Finder in case of unexpected fs error

Permissions errors are ignored
Errors on pruned dirs are also ignored

Bug: 62455338
Test: m -j blueprint_tools # which runs unit tests
Change-Id: I8ba85fdd0295deb7dc374a851212e7c850e76b75
diff --git a/finder/cmd/finder.go b/finder/cmd/finder.go
index 9da1660..70c1dc4 100644
--- a/finder/cmd/finder.go
+++ b/finder/cmd/finder.go
@@ -127,9 +127,13 @@
 		usage()
 		return errors.New("Param 'db' must be nonempty")
 	}
+
 	matches := []string{}
 	for i := 0; i < numIterations; i++ {
-		matches = runFind(params, logger)
+		matches, err = runFind(params, logger)
+		if err != nil {
+			return err
+		}
 	}
 	findDuration := time.Since(startTime)
 	logger.Printf("Found these %v inodes in %v :\n", len(matches), findDuration)
@@ -142,8 +146,11 @@
 	return nil
 }
 
-func runFind(params finder.CacheParams, logger *log.Logger) (paths []string) {
-	service := finder.New(params, fs.OsFs, logger, dbPath)
+func runFind(params finder.CacheParams, logger *log.Logger) (paths []string, err error) {
+	service, err := finder.New(params, fs.OsFs, logger, dbPath)
+	if err != nil {
+		return []string{}, err
+	}
 	defer service.Shutdown()
-	return service.FindAll()
+	return service.FindAll(), nil
 }