[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9140: fsusage: revert unintended change on AIX, Cygwin, Interix
From: |
Bruno Haible |
Subject: |
bug#9140: fsusage: revert unintended change on AIX, Cygwin, Interix |
Date: |
Sat, 23 Jul 2011 16:53:40 +0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) |
> 2) To undo the patch that introduces check_f_blocks_size, because
> - on MacOS X 10.7 it is not needed any more after 1),
> - on AIX and Cywin it causes non-POSIX API to be used for no reason,
> - it kills portability to Interix 3.5.
Slight correction: It is still needed after 1), at least on MacOS X 10.5.
But only on MacOS X. So here's the proposed patch 2. Verified on AIX and
Cygwin; I don't have access to an Interix machine.
2011-07-23 Bruno Haible <address@hidden>
fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
f_blocks field only on MacOS X.
*** m4/fsusage.m4.orig Sat Jul 23 16:44:07 2011
--- m4/fsusage.m4 Sat Jul 23 16:42:32 2011
***************
*** 62,75 ****
"Do not use Tru64's statvfs implementation"
#endif
- #include <limits.h>
#include <sys/statvfs.h>
- /* Reject implementations, such as MacOS X 10.7, where f_blocks is a
- 32-bit quantity; that commonly limits file systems to 4 TiB, a
- ridiculously small limit these days. */
struct statvfs fsd;
int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1];
]],
[[statvfs (0, &fsd);]])],
[fu_cv_sys_stat_statvfs=yes],
--- 62,80 ----
"Do not use Tru64's statvfs implementation"
#endif
#include <sys/statvfs.h>
struct statvfs fsd;
+
+ #if defined __APPLE__ && defined __MACH__
+ #include <limits.h>
+ /* On MacOS X >= 10.5, f_blocks in 'struct statvfs' is a 32-bit quantity;
+ that commonly limits file systems to 4 TiB. Whereas f_blocks in
+ 'struct statfs' is a 64-bit type, thanks to the large-file support
+ that was enabled above. In this case, don't use statvfs(); use statfs()
+ instead. */
int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1];
+ #endif
]],
[[statvfs (0, &fsd);]])],
[fu_cv_sys_stat_statvfs=yes],
--
In memoriam Adam Czerniaków <http://en.wikipedia.org/wiki/Adam_Czerniaków>
- bug#9141: [PATCH 1/3] extensions: Enable extensions on MacOS X 10.5 and later., (continued)
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Paul Eggert, 2011/07/21
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Herb Wartens, 2011/07/21
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Paul Eggert, 2011/07/22
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Jim Meyering, 2011/07/22
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Bruno Haible, 2011/07/23
- bug#9140: fsusage: add large volume support on glibc/Hurd, HP-UX 11, Solaris, MacOS X, Bruno Haible, 2011/07/23
- bug#9140: fsusage: add large volume support on glibc/Hurd, HP-UX 11, Solaris, MacOS X, Jim Meyering, 2011/07/23
- bug#9140: fsusage: revert unintended change on AIX, Cygwin, Interix,
Bruno Haible <=
- bug#9140: fsusage: revert unintended change on AIX, Cygwin, Interix, Jim Meyering, 2011/07/23
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Jim Meyering, 2011/07/23
- bug#9140: fsusage: add large volume support on AIX, Bruno Haible, 2011/07/23
- bug#9140: fsusage: add large volume support on AIX, Paul Eggert, 2011/07/23
- bug#9140: fsusage: add large volume support on AIX, Bruno Haible, 2011/07/24
- bug#9140: fsusage: add large volume support on AIX, Jim Meyering, 2011/07/24
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Bruno Haible, 2011/07/24
- bug#9140: Coreutils Bug on OSX 10.7 (Lion), Paul Eggert, 2011/07/25
bug#9140: [PATCH 2/3] large-inode: New module, Paul Eggert, 2011/07/22