diff --git a/jni/FuseUtils.cpp b/jni/FuseUtils.cpp
new file mode 100644
index 0000000..8d6c35a
--- /dev/null
+++ b/jni/FuseUtils.cpp
@@ -0,0 +1,40 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#define LOG_TAG "FuseUtils"
+
+#include "include/libfuse_jni/FuseUtils.h"
+
+#include <string>
+#include <vector>
+
+using std::string;
+
+namespace mediaprovider {
+namespace fuse {
+
+bool containsMount(const string& path, const string& userid) {
+    const string& prefix = "/storage/emulated/" + userid;
+    std::vector<string> suffixes = {"/Android", "/Android/data", "/Android/obb"};
+
+    if (path.find(prefix) != 0) {
+        return false;
+    }
+
+    const string& path_suffix = path.substr(prefix.length());
+    return std::find(suffixes.begin(), suffixes.end(), path_suffix) != suffixes.end();
+}
+
+}  // namespace fuse
+}  // namespace mediaprovider
