diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | THANKS.in | 1 | ||||
-rw-r--r-- | m4/stat-prog.m4 | 4 | ||||
-rw-r--r-- | src/stat.c | 6 |
4 files changed, 12 insertions, 3 deletions
@@ -7,6 +7,10 @@ GNU coreutils NEWS -*- outline -*- ls --color would mis-color relative-named symlinks in / [bug introduced in coreutils-8.17] + stat and df now report the correct file system usage, + in all situations on GNU/Linux, by correctly determining the block size. + [df bug since coreutils-5.0.91, stat bug since the initial implementation] + * Noteworthy changes in release 8.17 (2012-05-10) [stable] @@ -448,6 +448,7 @@ Nickolai Zeldovich nickolai@cs.stanford.edu Nicolas François nicolas.francois@centraliens.net Niklas Edmundsson nikke@acc.umu.se Nikola Milutinovic Nikola.Milutinovic@ev.co.yu +Nikolaus Rath Nikolaus@rath.org Nima Nikzad nnikzad@ucla.edu Noah Friedman friedman@splode.com Noel Cragg noel@red-bean.com diff --git a/m4/stat-prog.m4 b/m4/stat-prog.m4 index 30bacb458..ff59a28c5 100644 --- a/m4/stat-prog.m4 +++ b/m4/stat-prog.m4 @@ -72,8 +72,8 @@ AC_INCLUDES_DEFAULT [AC_DEFINE([STRUCT_STATVFS_F_FSID_IS_INTEGER], [1], [Define to 1 if the f_fsid member of struct statvfs is an integer.])]) else - AC_CHECK_MEMBERS([struct statfs.f_namelen, struct statfs.f_type],,, - [$statfs_includes]) + AC_CHECK_MEMBERS([struct statfs.f_namelen, struct statfs.f_type, + struct statfs.f_frsize],,, [$statfs_includes]) if test $ac_cv_header_OS_h != yes; then AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( diff --git a/src/stat.c b/src/stat.c index c6747a6b5..d80c62448 100644 --- a/src/stat.c +++ b/src/stat.c @@ -126,7 +126,11 @@ statfs (char const *filename, struct fs_info *buf) # else # define STRUCT_STATVFS struct statfs # define STRUCT_STATXFS_F_FSID_IS_INTEGER STRUCT_STATFS_F_FSID_IS_INTEGER -# define STATFS_FRSIZE(S) 0 +# if HAVE_STRUCT_STATFS_F_FRSIZE +# define STATFS_FRSIZE(S) ((S)->f_frsize) +# else +# define STATFS_FRSIZE(S) 0 +# endif # endif #endif |