From 472519eb6941bc0972212cc416ab89801fe3ee0c Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Thu, 3 Jul 2008 11:52:53 -0700 Subject: Check for f_frsize when using statvfs Add a configure test for the availability of f_frsize in struct statvfs (for broken platforms that define statvfs but still have f_bsize/f_iosize). Also add sys/types.h to the other struct statvfs test (again, some platforms need it). (This used to be commit 591bf1d15ff3b93db908cc3a4b6e10d09e5b74b6) --- source3/lib/fsusage.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source3/lib') diff --git a/source3/lib/fsusage.c b/source3/lib/fsusage.c index c5dec5ee8d..66ffb9f442 100644 --- a/source3/lib/fsusage.c +++ b/source3/lib/fsusage.c @@ -122,8 +122,13 @@ int sys_fsusage(const char *path, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize) #endif /* STAT_STATFS4 */ #if defined(STAT_STATVFS) || defined(STAT_STATVFS64) /* SVR4 */ +#if defined HAVE_FRSIZE # define CONVERT_BLOCKS(B) \ adjust_blocks ((SMB_BIG_UINT)(B), fsd.f_frsize ? (SMB_BIG_UINT)fsd.f_frsize : (SMB_BIG_UINT)fsd.f_bsize, (SMB_BIG_UINT)512) +#else +# define CONVERT_BLOCKS(B) \ + adjust_blocks ((SMB_BIG_UINT)(B), (SMB_BIG_UINT)fsd.f_bsize, (SMB_BIG_UINT)512) +#endif #ifdef STAT_STATVFS64 struct statvfs64 fsd; -- cgit