[PATCH] [FreeBSD 15] statvfs() abstraction
Timur I. Bakeyev
timur at com.bat.ru
Sun Jun 7 14:07:05 GMT 2009
Samba3 introduces an abstraction function for the statvfs(). FreeBSD has
both statvfs() and statfs(), but man page for stavfs() says:
The statvfs() and fstatvfs() functions fill the structure pointed to by
buf with garbage. This garbage will occasionally bear resemblance to
file system statistics, but portable applications must not depend on
this.
So, this patch adds emulation of statvfs() via statfs() plus some
additional heurestics for some FS flags.
There is a (un)related configure check, that makes statfs() being
properly recognized(but test fails anyhow as there is no such a struct
member:)).
With regards,
Timur Bakeyev.
-------------- next part --------------
--- ./source3/configure.in.orig 2009-04-30 07:53:01.000000000 +0000
+++ ./source3/configure.in 2009-06-01 11:49:40.000000000 +0000
@@ -6088,13 +6113,21 @@
# Start
AC_CHECK_FUNC(getmntent)
-AC_CHECK_HEADERS(sys/statfs.h)
+AC_CHECK_HEADERS(sys/statfs.h sys/mount.h)
AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid)])
AC_CACHE_VAL(vfsfileid_cv_statfs,[
AC_TRY_RUN([
#include <sys/types.h>
+ #ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+ #ifdef HAVE_SYS_MOUNT_H
+ #include <sys/mount.h>
+ #endif
+ #ifdef HAVE_SYS_STATFS_H
#include <sys/statfs.h>
+ #endif
int main(void)
{
struct statfs fsd;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-source3__smbd__statvfs.c
Type: text/x-csrc
Size: 1937 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20090607/938f7cde/patch-source3__smbd__statvfs.bin
More information about the samba-technical
mailing list