$OpenBSD: patch-crypto_nss_util_cc,v 1.1 2011/06/08 20:36:56 robert Exp $
--- crypto/nss_util.cc.orig	Wed Jun  8 10:16:52 2011
+++ crypto/nss_util.cc	Wed Jun  8 10:17:40 2011
@@ -16,6 +16,9 @@
 #if defined(OS_LINUX)
 #include <linux/nfs_fs.h>
 #include <sys/vfs.h>
+#elif defined(OS_OPENBSD)
+#include <sys/param.h>
+#include <sys/mount.h>
 #endif
 
 #include <vector>
@@ -142,17 +145,21 @@ char* PKCS11PasswordFunc(PK11SlotInfo* slot, PRBool re
 // Because this function sets an environment variable it must be run before we
 // go multi-threaded.
 void UseLocalCacheOfNSSDatabaseIfNFS(const FilePath& database_dir) {
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_OPENBSD)
   struct statfs buf;
   if (statfs(database_dir.value().c_str(), &buf) == 0) {
+#if defined(OS_LINUX)
     if (buf.f_type == NFS_SUPER_MAGIC) {
+#elif defined(OS_OPENBSD)
+    if (strcmp(buf.f_fstypename, MOUNT_NFS) == 0) {
+#endif
       scoped_ptr<base::Environment> env(base::Environment::Create());
       const char* use_cache_env_var = "NSS_SDB_USE_CACHE";
       if (!env->HasVar(use_cache_env_var))
         env->SetVar(use_cache_env_var, "yes");
     }
   }
-#endif  // defined(OS_LINUX)
+#endif  // defined(OS_LINUX) || defined(OS_OPENBSD)
 }
 
 // A helper class that acquires the SECMOD list read lock while the
