Blame lazystatfs.diff

Bernhard M. Wiedemann 1250f9
Prefer sys/vfs.h, as statvfs stats all filesystems again
Bernhard M. Wiedemann 1250f9
--- ./configure.ac.orig	2011-05-12 12:36:32.000000000 +0000
Bernhard M. Wiedemann 1250f9
+++ ./configure.ac	2011-05-12 12:36:42.000000000 +0000
Bernhard M. Wiedemann 1250f9
@@ -402,25 +402,25 @@ dnl
Bernhard M. Wiedemann 1250f9
 found_struct_statfs=no
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 if test X$found_struct_statfs = Xno ; then
Bernhard M. Wiedemann 1250f9
-dnl Solaris 2.6+ wants to use statvfs
Bernhard M. Wiedemann 1250f9
+dnl first try including sys/vfs.h
Bernhard M. Wiedemann 1250f9
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
Bernhard M. Wiedemann 1250f9
 #ifdef HAVE_SYS_TYPES_H
Bernhard M. Wiedemann 1250f9
 #include <sys/types.h>
Bernhard M. Wiedemann 1250f9
 #endif
Bernhard M. Wiedemann 1250f9
-#include <sys/statvfs.h> ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h)
Bernhard M. Wiedemann 1250f9
-	AC_DEFINE(STATFS_IN_SYS_STATVFS, 1,
Bernhard M. Wiedemann 1250f9
-		[statfs in <sys/statvfs.h> (for solaris 2.6+ systems)])
Bernhard M. Wiedemann 1250f9
+#include <sys/vfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h)
Bernhard M. Wiedemann 1250f9
+	AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in <sys/vfs.h> (for linux systems)])
Bernhard M. Wiedemann 1250f9
 	found_struct_statfs=yes],[])
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 if test X$found_struct_statfs = Xno ; then
Bernhard M. Wiedemann 1250f9
-dnl first try including sys/vfs.h
Bernhard M. Wiedemann 1250f9
+dnl Solaris 2.6+ wants to use statvfs
Bernhard M. Wiedemann 1250f9
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
Bernhard M. Wiedemann 1250f9
 #ifdef HAVE_SYS_TYPES_H
Bernhard M. Wiedemann 1250f9
 #include <sys/types.h>
Bernhard M. Wiedemann 1250f9
 #endif
Bernhard M. Wiedemann 1250f9
-#include <sys/vfs.h> ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h)
Bernhard M. Wiedemann 1250f9
-	AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in <sys/vfs.h> (for linux systems)])
Bernhard M. Wiedemann 1250f9
+#include <sys/statvfs.h> ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h)
Bernhard M. Wiedemann 1250f9
+	AC_DEFINE(STATFS_IN_SYS_STATVFS, 1,
Bernhard M. Wiedemann 1250f9
+		[statfs in <sys/statvfs.h> (for solaris 2.6+ systems)])
Bernhard M. Wiedemann 1250f9
 	found_struct_statfs=yes],[])
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
--- ./lib/transaction.c.orig	2011-05-12 12:36:55.000000000 +0000
Bernhard M. Wiedemann 1250f9
+++ ./lib/transaction.c	2011-05-12 12:38:03.000000000 +0000
Bernhard M. Wiedemann 1250f9
@@ -114,7 +114,11 @@ static rpmDiskSpaceInfo rpmtsCreateDSI(c
Bernhard M. Wiedemann 1250f9
     dsi->bneeded = 0;
Bernhard M. Wiedemann 1250f9
     dsi->ineeded = 0;
Bernhard M. Wiedemann 1250f9
 #ifdef STATFS_HAS_F_BAVAIL
Bernhard M. Wiedemann 1250f9
+# ifdef ST_RDONLY
Bernhard M. Wiedemann 1250f9
     dsi->bavail = (sfb.f_flag & ST_RDONLY) ? 0 : sfb.f_bavail;
Bernhard M. Wiedemann 1250f9
+# else
Bernhard M. Wiedemann 1250f9
+    dsi->bavail = sfb.f_bavail;
Bernhard M. Wiedemann 1250f9
+# endif
Bernhard M. Wiedemann 1250f9
 #else
Bernhard M. Wiedemann 1250f9
 /* FIXME: the statfs struct doesn't have a member to tell how many blocks are
Bernhard M. Wiedemann 1250f9
  * available for non-superusers.  f_blocks - f_bfree is probably too big, but