aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/0011-df-use-f_frsize-instead-of-f_bsize-for-correct-sizes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/busybox/0011-df-use-f_frsize-instead-of-f_bsize-for-correct-sizes.patch')
-rw-r--r--main/busybox/0011-df-use-f_frsize-instead-of-f_bsize-for-correct-sizes.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/main/busybox/0011-df-use-f_frsize-instead-of-f_bsize-for-correct-sizes.patch b/main/busybox/0011-df-use-f_frsize-instead-of-f_bsize-for-correct-sizes.patch
new file mode 100644
index 0000000000..1491616321
--- /dev/null
+++ b/main/busybox/0011-df-use-f_frsize-instead-of-f_bsize-for-correct-sizes.patch
@@ -0,0 +1,73 @@
+From f284457f4400ee31469a6fde1468088fc1858eb0 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 23 Jun 2016 10:42:40 +0200
+Subject: [PATCH 11/15] df: use f_frsize instead of f_bsize for correct sizes
+
+Use the correct field f_frsize instead of f_bsize.
+
+The statfs f_bsize is the "Optimal transfer block size" while the
+f_frsize is the "Fragment size (since Linux 2.6)". On some FUSE
+filesystems those may differ.
+
+Fixes bug 9046
+
+URL: https://bugs.busybox.net/show_bug.cgi?id=9046
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+---
+ coreutils/df.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/coreutils/df.c b/coreutils/df.c
+index d79c11a..06b2920 100644
+--- a/coreutils/df.c
++++ b/coreutils/df.c
+@@ -188,7 +188,7 @@ int df_main(int argc UNUSED_PARAM, char **argv)
+ if (opt & OPT_INODE) {
+ s.f_blocks = s.f_files;
+ s.f_bavail = s.f_bfree = s.f_ffree;
+- s.f_bsize = 1;
++ s.f_frsize = 1;
+
+ if (df_disp_hr)
+ df_disp_hr = 1;
+@@ -246,26 +246,26 @@ int df_main(int argc UNUSED_PARAM, char **argv)
+
+ #if ENABLE_FEATURE_HUMAN_READABLE
+ printf(" %9s ",
+- /* f_blocks x f_bsize / df_disp_hr, show one fractional,
++ /* f_blocks x f_frsize / df_disp_hr, show one fractional,
+ * use suffixes if df_disp_hr == 0 */
+- make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr));
++ make_human_readable_str(s.f_blocks, s.f_frsize, df_disp_hr));
+
+ printf(" %9s " + 1,
+- /* EXPR x f_bsize / df_disp_hr, show one fractional,
++ /* EXPR x f_frsize / df_disp_hr, show one fractional,
+ * use suffixes if df_disp_hr == 0 */
+ make_human_readable_str((s.f_blocks - s.f_bfree),
+- s.f_bsize, df_disp_hr));
++ s.f_frsize, df_disp_hr));
+
+ printf("%9s %3u%% %s\n",
+- /* f_bavail x f_bsize / df_disp_hr, show one fractional,
++ /* f_bavail x f_frsize / df_disp_hr, show one fractional,
+ * use suffixes if df_disp_hr == 0 */
+- make_human_readable_str(s.f_bavail, s.f_bsize, df_disp_hr),
++ make_human_readable_str(s.f_bavail, s.f_frsize, df_disp_hr),
+ blocks_percent_used, mount_point);
+ #else
+ printf(" %9lu %9lu %9lu %3u%% %s\n",
+- kscale(s.f_blocks, s.f_bsize),
+- kscale(s.f_blocks - s.f_bfree, s.f_bsize),
+- kscale(s.f_bavail, s.f_bsize),
++ kscale(s.f_blocks, s.f_frsize),
++ kscale(s.f_blocks - s.f_bfree, s.f_frsize),
++ kscale(s.f_bavail, s.f_frsize),
+ blocks_percent_used, mount_point);
+ #endif
+ }
+--
+2.9.1
+