svn commit: samba r16837 - in trunk/source: . smbd
vlendec at samba.org
vlendec at samba.org
Thu Jul 6 16:59:44 GMT 2006
Author: vlendec
Date: 2006-07-06 16:59:43 +0000 (Thu, 06 Jul 2006)
New Revision: 16837
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16837
Log:
Finally found a Linux version that shows bug 3841. SuSE 7.0 does it :-)
Attempt to fix it.
Volker
Modified:
trunk/source/configure.in
trunk/source/smbd/statvfs.c
Changeset:
Modified: trunk/source/configure.in
===================================================================
--- trunk/source/configure.in 2006-07-06 13:38:41 UTC (rev 16836)
+++ trunk/source/configure.in 2006-07-06 16:59:43 UTC (rev 16837)
@@ -4579,6 +4579,16 @@
fi
fi
+# smbd/statvfs.c assumes that statvfs.f_fsid is an integer.
+# This is not the case on ancient Linux systems.
+
+AC_CACHE_CHECK([that statvfs.f_fsid is an integer],samba_cv_fsid_int, [
+ AC_TRY_COMPILE([#include <sys/statvfs.h>],[struct statvfs buf; buf.f_fsid = 0],
+ samba_cv_fsid_int=yes,samba_cv_fsid_int=no)])
+if test x"$samba_cv_fsid_int" = x"yes"; then
+ AC_DEFINE(HAVE_FSID_INT, 1, [Whether statvfs.f_fsid is an integer])
+fi
+
if test $space = no; then
# DEC Alpha running OSF/1
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
Modified: trunk/source/smbd/statvfs.c
===================================================================
--- trunk/source/smbd/statvfs.c 2006-07-06 13:38:41 UTC (rev 16836)
+++ trunk/source/smbd/statvfs.c 2006-07-06 16:59:43 UTC (rev 16837)
@@ -21,7 +21,7 @@
#include "includes.h"
-#if defined(LINUX)
+#if defined(LINUX) && defined(HAVE_FSID_INT)
static int linux_statvfs(const char *path, vfs_statvfs_struct *statbuf)
{
struct statvfs statvfs_buf;
@@ -51,7 +51,7 @@
*/
int sys_statvfs(const char *path, vfs_statvfs_struct *statbuf)
{
-#if defined(LINUX)
+#if defined(LINUX) && defined(HAVE_FSID_INT)
return linux_statvfs(path, statbuf);
#else
/* BB change this to return invalid level */
More information about the samba-cvs
mailing list