diff --git a/src/modules/files/configure.in b/src/modules/files/configure.in
index 6b4a004b2d36bd89d348a817d3856ecb85f15110..0d5af6587a9b157566c73756f6e16bcb51a59d62 100644
--- a/src/modules/files/configure.in
+++ b/src/modules/files/configure.in
@@ -1,4 +1,4 @@
-# $Id: configure.in,v 1.67 1999/06/23 19:06:57 grubba Exp $
+# $Id: configure.in,v 1.68 1999/06/25 20:44:39 per Exp $
 AC_INIT(file.c)
 AC_CONFIG_HEADER(file_machine.h)
 
@@ -135,7 +135,7 @@ AC_MSG_RESULT($pike_cv_func_mkdir_args)
 AC_DEFINE_UNQUOTED(MKDIR_ARGS,$pike_cv_func_mkdir_args)
 
 if test x$ac_cv_func_readdir_r = xyes ; then
-  AC_MSG_CHECKING(if readdir_r takes 2(Solaris & HPUX) or 3(Posix) arguments)
+  AC_MSG_CHECKING(if readdir_r takes 2(old Solaris & HPUX) or 3(Posix) arguments)
   AC_CACHE_VAL(pike_cv_func_posix_readdir_r, [
     AC_TRY_COMPILE([
 #ifndef _LARGEFILE_SOURCE
@@ -447,10 +447,11 @@ if test x$ac_cv_func_statvfs = xyes ; then
       ])
     ])
     AC_MSG_RESULT($pike_cv_struct_statvfs_f_fstr)
-    if test x$pike_cv_struct_statfs_f_fstr = xyes; then
+    if test x$pike_cv_struct_statvfs_f_fstr = xyes; then
       AC_DEFINE(HAVE_STATVFS_F_FSTR)
     else :; fi
-    AC_MSG_CHECKING(if the struct statfs has the member f_basetype)
+
+    AC_MSG_CHECKING(if the struct statvfs has the member f_basetype)
     AC_CACHE_VAL(pike_cv_struct_statvfs_f_basetype, [
       AC_TRY_COMPILE([
 #ifndef _LARGEFILE_SOURCE
@@ -493,7 +494,7 @@ if test x$ac_cv_func_statvfs = xyes ; then
       ])
     ])
     AC_MSG_RESULT($pike_cv_struct_statvfs_f_basetype)
-    if test x$pike_cv_struct_statfs_f_basetype = xyes; then
+    if test x$pike_cv_struct_statvfs_f_basetype = xyes; then
       AC_DEFINE(HAVE_STATVFS_F_BASETYPE)
     else :; fi
   else :; fi
@@ -603,6 +604,53 @@ if test x$ac_cv_func_statfs = xyes ; then
   if test x$pike_cv_struct_statfs = xyes; then
     AC_DEFINE(HAVE_STRUCT_STATFS)
 
+    AC_MSG_CHECKING(if the struct statfs has the member f_fsid)
+    AC_CACHE_VAL(pike_cv_struct_statfs_f_fsid, [
+      AC_TRY_COMPILE([
+#ifndef _LARGEFILE_SOURCE
+#  define _FILE_OFFSET_BITS 64
+#  define _LARGEFILE_SOURCE
+#  define _LARGEFILE64_SOURCE 1
+#endif
+/* HPUX needs these too... */
+#ifndef __STDC_EXT__
+#  define __STDC_EXT__
+#endif /* !__STDC_EXT__ */
+
+#ifndef POSIX_SOURCE
+#define POSIX_SOURCE
+#endif
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+#ifdef HAVE_SYS_SYSPROTO_H
+#include <sys/sysproto.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#include <sys/stat.h>
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+      ], [
+        struct statfs st;
+        st.f_fsid = 0;
+      ], [ pike_cv_struct_statfs_f_fsid=yes
+      ], [ pike_cv_struct_statfs_f_fsid=no
+      ])
+    ])
+    AC_MSG_RESULT($pike_cv_struct_statfs_f_fsid)
+    if test x$pike_cv_struct_statfs_f_fsid = xyes; then
+      AC_DEFINE(HAVE_STATFS_F_FSID)
+    else :; fi
+
     AC_MSG_CHECKING(if the struct statfs has the member f_bavail)
     AC_CACHE_VAL(pike_cv_struct_statfs_f_bavail, [
       AC_TRY_COMPILE([