1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
--- busybox-1.2.2/coreutils/df.c.orig 2006-11-11 13:25:00.000000000 -0600
+++ busybox-1.2.2/coreutils/df.c 2006-11-11 13:23:15.000000000 -0600
@@ -47,6 +47,7 @@
struct statfs s;
static const char hdr_1k[] = "1k-blocks"; /* default display is kilobytes */
const char *disp_units_hdr = hdr_1k;
+ int root_done = 0;
#ifdef CONFIG_FEATURE_HUMAN_READABLE
bb_opt_complementally = "h-km:k-hm:m-hk";
@@ -112,16 +113,19 @@
) / (blocks_used + s.f_bavail);
}
- if (strcmp(device, "rootfs") == 0) {
- continue;
- } else if (strcmp(device, "/dev/root") == 0) {
+ if (strcmp(device, "/dev/root") == 0 || strcmp(device, "rootfs") == 0) {
/* Adjusts device to be the real root device,
* or leaves device alone if it can't find it */
- if ((device = find_block_device("/")) == NULL) {
+ if ((device = find_block_device(mount_point)) == NULL) {
goto SET_ERROR;
}
}
+ if (strcmp(mount_point, "/") == 0) {
+ if (root_done) continue;
+ root_done = 1;
+ }
+
#ifdef CONFIG_FEATURE_HUMAN_READABLE
bb_printf("%-20s %9s ", device,
make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr));
|