Page MenuHomeFreeBSD

D54264.diff
No OneTemporary

D54264.diff

diff --git a/bin/df/df.1 b/bin/df/df.1
--- a/bin/df/df.1
+++ b/bin/df/df.1
@@ -26,7 +26,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd July 16, 2025
+.Dd January 3, 2026
.Dt DF 1
.Os
.Sh NAME
@@ -208,7 +208,7 @@
devfs devfs 1.0K 1.0K 0B 100% /dev
/dev/ada0p1 ufs 1.8T 168G 1.5T 10% /data
linsysfs linsysfs 4.0K 4.0K 0B 100% /compat/linux/sys
-/dev/da0 msdosfs 7.6G 424M 7.2G 5% /mnt/usb
+/dev/da0 msdosfs 7.6G 424M 7.2G 6% /mnt/usb
.Ed
.Pp
Show previously collected data including inode statistics except for devfs or
@@ -220,13 +220,10 @@
option can be specified only once:
.Bd -literal -offset indent
$ df -i -n -t nodevfs,linsysfs
-Filesystem 1K-blocks Used Avail Capacity iused ifree %iused
-Mounted on
+Filesystem 1K-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/ada1p2 223235736 159618992 45757888 78% 1657590 27234568 6% /
-/dev/ada0p1 1892163184 176319420 1564470712 10% 1319710 243300576 1%
-/data
-/dev/da0 7989888 433664 7556224 5% 0 0 100%
-/mnt/usb
+/dev/ada0p1 1892163184 176319420 1564470712 11% 1319710 243300576 1% /data
+/dev/da0 7989888 433664 7556224 6% 0 0 - /mnt/usb
.Ed
.Pp
Show human readable information for the file system containing the file
@@ -264,8 +261,8 @@
.Xr getmntinfo 3 ,
.Xr libxo 3 ,
.Xr localeconv 3 ,
-.Xr xo_options 7 ,
.Xr fstab 5 ,
+.Xr xo_options 7 ,
.Xr mount 8 ,
.Xr pstat 8 ,
.Xr quot 8 ,
diff --git a/bin/df/df.c b/bin/df/df.c
--- a/bin/df/df.c
+++ b/bin/df/df.c
@@ -76,6 +76,7 @@
static void prthuman(const struct statfs *, int64_t);
static void prthumanval(const char *, int64_t);
static intmax_t fsbtoblk(int64_t, uint64_t, u_long);
+static int percent(int64_t , int64_t);
static void prtstat(struct statfs *, struct maxwidths *);
static size_t regetmntinfo(struct statfs **, long);
static void update_maxwidths(struct maxwidths *, const struct statfs *);
@@ -450,6 +451,15 @@
return (num * (intmax_t) fsbs / (int64_t) bs);
}
+/*
+ * Calculate the percentage as an integer, rounded up to the next highest value.
+ */
+static int
+percent(int64_t used, int64_t avail)
+{
+ return (avail == 0 ? 100 : ((used * 100 + avail - 1) / avail));
+}
+
/*
* Print out status about a file system.
*/
@@ -528,8 +538,7 @@
mwp->avail, fsbtoblk(sfsp->f_bavail,
sfsp->f_bsize, blocksize));
}
- xo_emit(" {:used-percent/%5.0f}{U:%%}",
- availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0);
+ xo_emit(" {:used-percent/%5d}{U:%%}", percent(used, availblks));
if (iflag) {
inodes = sfsp->f_files;
used = inodes - sfsp->f_ffree;
@@ -548,8 +557,8 @@
if (inodes == 0)
xo_emit(" {:inodes-used-percent/ -}{U:} ");
else {
- xo_emit(" {:inodes-used-percent/%4.0f}{U:%%} ",
- (double)used / (double)inodes * 100.0);
+ xo_emit(" {:inodes-used-percent/%4d}{U:%%} ",
+ percent(used, inodes));
}
} else
xo_emit(" ");
diff --git a/bin/df/tests/t_df.sh b/bin/df/tests/t_df.sh
--- a/bin/df/tests/t_df.sh
+++ b/bin/df/tests/t_df.sh
@@ -20,50 +20,50 @@
{
cat >expout <<EOF
Filesystem 1K-blocks Used Avail Capacity Mounted on
-filer:/ 1202716672 135168 1202581504 0% /filer
+filer:/ 1202716672 135168 1202581504 1% /filer
filer:/ 1202716672 0 1202716672 0% /filer
-filer:/ 1202716672 240543334 962173337 20% /filer
-filer:/ 1202716672 721630003 481086668 60% /filer
-filer:/ 1202716672 1142580838 60135833 95% /filer
+filer:/ 1202716672 240543334 962173337 21% /filer
+filer:/ 1202716672 721630003 481086668 61% /filer
+filer:/ 1202716672 1142580838 60135833 96% /filer
filer:/ 1202716672 1202716672 0 100% /filer
filer:/ 1202716672 0 1142580838 0% /filer
-filer:/ 1202716672 240543334 902037504 21% /filer
-filer:/ 1202716672 721630003 420950835 63% /filer
+filer:/ 1202716672 240543334 902037504 22% /filer
+filer:/ 1202716672 721630003 420950835 64% /filer
filer:/ 1202716672 1142580838 0 100% /filer
-filer:/ 1202716672 1202716672 -60135833 105% /filer
+filer:/ 1202716672 1202716672 -60135833 106% /filer
filer:/ 1202716672 0 1082445004 0% /filer
-filer:/ 1202716672 240543334 841901670 22% /filer
+filer:/ 1202716672 240543334 841901670 23% /filer
filer:/ 1202716672 721630003 360815001 67% /filer
filer:/ 1202716672 1142580838 -60135833 106% /filer
-filer:/ 1202716672 1202716672 -120271667 111% /filer
+filer:/ 1202716672 1202716672 -120271667 112% /filer
filer:/ 1202716672 0 1022309171 0% /filer
filer:/ 1202716672 240543334 781765836 24% /filer
filer:/ 1202716672 721630003 300679168 71% /filer
filer:/ 1202716672 1142580838 -120271667 112% /filer
filer:/ 1202716672 1202716672 -180407500 118% /filer
-/dev/ld0g 1308726116 17901268 1225388540 1% /anon-root
+/dev/ld0g 1308726116 17901268 1225388540 2% /anon-root
/dev/ld0g 1308726116 0 1308726116 0% /anon-root
-/dev/ld0g 1308726116 261745224 1046980892 20% /anon-root
-/dev/ld0g 1308726116 785235672 523490444 60% /anon-root
-/dev/ld0g 1308726116 1243289812 65436304 95% /anon-root
+/dev/ld0g 1308726116 261745224 1046980892 21% /anon-root
+/dev/ld0g 1308726116 785235672 523490444 61% /anon-root
+/dev/ld0g 1308726116 1243289812 65436304 96% /anon-root
/dev/ld0g 1308726116 1308726116 0 100% /anon-root
/dev/ld0g 1308726116 0 1243289808 0% /anon-root
-/dev/ld0g 1308726116 261745224 981544584 21% /anon-root
-/dev/ld0g 1308726116 785235672 458054140 63% /anon-root
+/dev/ld0g 1308726116 261745224 981544584 22% /anon-root
+/dev/ld0g 1308726116 785235672 458054140 64% /anon-root
/dev/ld0g 1308726116 1243289812 0 100% /anon-root
-/dev/ld0g 1308726116 1308726116 -65436304 105% /anon-root
+/dev/ld0g 1308726116 1308726116 -65436304 106% /anon-root
/dev/ld0g 1308726116 0 1177853504 0% /anon-root
-/dev/ld0g 1308726116 261745224 916108280 22% /anon-root
+/dev/ld0g 1308726116 261745224 916108280 23% /anon-root
/dev/ld0g 1308726116 785235672 392617832 67% /anon-root
/dev/ld0g 1308726116 1243289812 -65436304 106% /anon-root
-/dev/ld0g 1308726116 1308726116 -130872608 111% /anon-root
+/dev/ld0g 1308726116 1308726116 -130872608 112% /anon-root
/dev/ld0g 1308726116 0 1112417196 0% /anon-root
/dev/ld0g 1308726116 261745224 850671972 24% /anon-root
/dev/ld0g 1308726116 785235672 327181528 71% /anon-root
/dev/ld0g 1308726116 1243289812 -130872608 112% /anon-root
/dev/ld0g 1308726116 1308726116 -196308916 118% /anon-root
-/dev/strpct 21474836476 10737418240 10737418236 50% /strpct
-/dev/wd0e 10485688 2859932 7625756 27% /mount/windows/C
+/dev/strpct 21474836476 10737418240 10737418236 51% /strpct
+/dev/wd0e 10485688 2859932 7625756 28% /mount/windows/C
EOF
atf_check -s exit:0 -o file:expout -e empty \
-x "BLOCKSIZE=1k $(atf_get_srcdir)/h_df -n"
@@ -80,50 +80,50 @@
{
cat >expout <<EOF
Filesystem Size Used Avail Capacity Mounted on
-filer:/ 1.1T 132M 1.1T 0% /filer
+filer:/ 1.1T 132M 1.1T 1% /filer
filer:/ 1.1T 0B 1.1T 0% /filer
-filer:/ 1.1T 229G 918G 20% /filer
-filer:/ 1.1T 688G 459G 60% /filer
-filer:/ 1.1T 1.1T 57G 95% /filer
+filer:/ 1.1T 229G 918G 21% /filer
+filer:/ 1.1T 688G 459G 61% /filer
+filer:/ 1.1T 1.1T 57G 96% /filer
filer:/ 1.1T 1.1T 0B 100% /filer
filer:/ 1.1T 0B 1.1T 0% /filer
-filer:/ 1.1T 229G 860G 21% /filer
-filer:/ 1.1T 688G 401G 63% /filer
+filer:/ 1.1T 229G 860G 22% /filer
+filer:/ 1.1T 688G 401G 64% /filer
filer:/ 1.1T 1.1T 0B 100% /filer
-filer:/ 1.1T 1.1T -57G 105% /filer
+filer:/ 1.1T 1.1T -57G 106% /filer
filer:/ 1.1T 0B 1.0T 0% /filer
-filer:/ 1.1T 229G 803G 22% /filer
+filer:/ 1.1T 229G 803G 23% /filer
filer:/ 1.1T 688G 344G 67% /filer
filer:/ 1.1T 1.1T -57G 106% /filer
-filer:/ 1.1T 1.1T -115G 111% /filer
+filer:/ 1.1T 1.1T -115G 112% /filer
filer:/ 1.1T 0B 975G 0% /filer
filer:/ 1.1T 229G 746G 24% /filer
filer:/ 1.1T 688G 287G 71% /filer
filer:/ 1.1T 1.1T -115G 112% /filer
filer:/ 1.1T 1.1T -172G 118% /filer
-/dev/ld0g 1.2T 17G 1.1T 1% /anon-root
+/dev/ld0g 1.2T 17G 1.1T 2% /anon-root
/dev/ld0g 1.2T 0B 1.2T 0% /anon-root
-/dev/ld0g 1.2T 250G 998G 20% /anon-root
-/dev/ld0g 1.2T 749G 499G 60% /anon-root
-/dev/ld0g 1.2T 1.2T 62G 95% /anon-root
+/dev/ld0g 1.2T 250G 998G 21% /anon-root
+/dev/ld0g 1.2T 749G 499G 61% /anon-root
+/dev/ld0g 1.2T 1.2T 62G 96% /anon-root
/dev/ld0g 1.2T 1.2T 0B 100% /anon-root
/dev/ld0g 1.2T 0B 1.2T 0% /anon-root
-/dev/ld0g 1.2T 250G 936G 21% /anon-root
-/dev/ld0g 1.2T 749G 437G 63% /anon-root
+/dev/ld0g 1.2T 250G 936G 22% /anon-root
+/dev/ld0g 1.2T 749G 437G 64% /anon-root
/dev/ld0g 1.2T 1.2T 0B 100% /anon-root
-/dev/ld0g 1.2T 1.2T -62G 105% /anon-root
+/dev/ld0g 1.2T 1.2T -62G 106% /anon-root
/dev/ld0g 1.2T 0B 1.1T 0% /anon-root
-/dev/ld0g 1.2T 250G 874G 22% /anon-root
+/dev/ld0g 1.2T 250G 874G 23% /anon-root
/dev/ld0g 1.2T 749G 374G 67% /anon-root
/dev/ld0g 1.2T 1.2T -62G 106% /anon-root
-/dev/ld0g 1.2T 1.2T -125G 111% /anon-root
+/dev/ld0g 1.2T 1.2T -125G 112% /anon-root
/dev/ld0g 1.2T 0B 1.0T 0% /anon-root
/dev/ld0g 1.2T 250G 811G 24% /anon-root
/dev/ld0g 1.2T 749G 312G 71% /anon-root
/dev/ld0g 1.2T 1.2T -125G 112% /anon-root
/dev/ld0g 1.2T 1.2T -187G 118% /anon-root
-/dev/strpct 20T 10T 10T 50% /strpct
-/dev/wd0e 10G 2.7G 7.3G 27% /mount/windows/C
+/dev/strpct 20T 10T 10T 51% /strpct
+/dev/wd0e 10G 2.7G 7.3G 28% /mount/windows/C
EOF
atf_check -s exit:0 -o file:expout -e empty \
-x "BLOCKSIZE=1k $(atf_get_srcdir)/h_df -hn"

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 25, 4:45 AM (20 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27925604
Default Alt Text
D54264.diff (11 KB)

Event Timeline