diff --git a/VolumeManager.cpp b/VolumeManager.cpp
index 13a943f..c3c95f6 100644
--- a/VolumeManager.cpp
+++ b/VolumeManager.cpp
@@ -37,6 +37,7 @@
 #include <openssl/md5.h>
 
 #include <android-base/logging.h>
+#include <android-base/parseint.h>
 #include <android-base/stringprintf.h>
 #include <cutils/fs.h>
 #include <cutils/log.h>
@@ -596,6 +597,10 @@
 
     // Poke through all running PIDs look for apps running as UID
     while ((de = readdir(dir))) {
+        pid_t pid;
+        if (de->d_type != DT_DIR) continue;
+        if (!android::base::ParseInt(de->d_name, &pid)) continue;
+
         pidFd = -1;
         nsFd = -1;
 
diff --git a/cryptfs.cpp b/cryptfs.cpp
index eb89e1b..d153a99 100644
--- a/cryptfs.cpp
+++ b/cryptfs.cpp
@@ -1938,16 +1938,19 @@
               args[0], args[1], args[2], args[3], args[4], args[5]);
     } else if (type == F2FS_FS) {
         args[0] = "/system/bin/make_f2fs";
-        args[1] = "-t";
+        args[1] = "-f";
         args[2] = "-d1";
-        args[3] = "-f";
-        args[4] = "-O encrypt";
-        args[5] = crypto_blkdev;
+        args[3] = "-O";
+        args[4] = "encrypt";
+        args[5] = "-O";
+        args[6] = "quota";
+        args[7] = crypto_blkdev;
         snprintf(size_str, sizeof(size_str), "%" PRId64, size);
-        args[6] = size_str;
-        num_args = 7;
-        SLOGI("Making empty filesystem with command %s %s %s %s %s %s %s\n",
-              args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+        args[8] = size_str;
+        num_args = 9;
+        SLOGI("Making empty filesystem with command %s %s %s %s %s %s %s %s %s\n",
+              args[0], args[1], args[2], args[3], args[4], args[5],
+              args[6], args[7], args[8]);
     } else {
         SLOGE("cryptfs_enable_wipe(): unknown filesystem type %d\n", type);
         return -1;
diff --git a/tests/Android.mk b/tests/Android.mk
index 4b6573e..5b8ff09 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -13,6 +13,7 @@
 LOCAL_MODULE := vold_tests
 LOCAL_MODULE_TAGS := eng tests
 
+LOCAL_CFLAGS := -Wall -Werror
 include $(BUILD_NATIVE_TEST)
 
 include $(CLEAR_VARS)
