History log of /freebsd-current/bin/df/df.1
Revision Date Author Comments
# 304f52ad 11-Jan-2024 Chia-Jung Chang <maluma110020036@gapp.nthu.edu.tw>

df(1): Fix grammar

Event: Advance UNIX programming course (Fall'23) at NTHU
Pull Request: https://github.com/freebsd/freebsd-src/pull/1027


# e3d3e1ff 26-Dec-2023 Pin-Yi Kuo <kuokuoyiyi@gapp.nthu.edu.tw>

df(1): fix a typo

On the manpage of df(1), "according" is mistyped into "acccording"

Event: Advanced UNIX Programming Course (Fall'23) at NTHU.
Signed-off-by: Pin-Yi Kuo <kuokuoyiyi@gapp.nthu.edu.tw>
Reviewed by: imp, zlei, Mina Galić
Pull Request: https://github.com/freebsd/freebsd-src/pull/944


# 90aea514 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

bin: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# b2c76c41 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line nroff pattern

Remove /^\.\\"\s*\$FreeBSD\$$\n/


# c33db74b 29-Mar-2023 Stefan Eßer <se@FreeBSD.org>

fs/msdosfs: add tracking of free root directory entries

This update implements tallying of free directory entries during
create, delete, or rename operations on FAT12 and FAT16 file systems.

Prior to this change, the total number of root directory entries
was reported as number of inodes, but 0 as the number of free
inodes, causing system health monitoring software to warn about
a suspected disk full issue.

The FAT12 and FAT16 file systems provide a limited number of
root directory entries, e.g. 512 on typical hard disk formats.
The valid range of values is 1 to 65535, but the msdosfs code
will effectively round up "odd" values to the next multiple of 16
(e.g. 513 would allow for 528 root directory entries).

This update implements tracking of directory entries during create,
delete, or rename operations, with initial values determined by
scanning the directory when the file system is mounted.

Total and free directory entries are reported in the f_files and
f_ffree elements of struct statfs, despite differences in semantics
of these values:

- There is no limit on the number of files and directories that can
be created on a FAT file system. Only the root directory of FAT12
and FAT16 file systems is limited, any number of files can still be
created in sub-directories, even when 0 free "inodes" are reported.

- A single file can require 1 to 21 directory entries, depending on
the character set, structure, and length of the name. The DOS 8.3
style file name takes up 1 entry, and if the name does not comply
with the syntax of a DOS 8.3 file name, 1 additional entry is used
for each 13 characters of the file name. Since all these entries
have to be contiguous, it is possible that a file or directory with
a long name can not be created, despite a sufficient total number of
free directory entries.

- Renaming a file can require more directory entries than currently
allocated to store its long name, which may prevent an in-place
update of the name if more entries are needed. This may cause a
rename operation to fail if no contiguous range of free entries for
the new name can be found.

- The volume label is stored in a directory entry. An empty FAT file
system with a volume label will therefore show 1 used "inode" in
df.

- The perceentage of free inodes shown in df or monitoring tools does
only represent the state of the root directory of a FAT12 or FAT16
file system. Neither does a reported value of 0% free inodes does
prevent files from being created in sub-directories, nor does a
value of 50% free inodes guarantee that even a single file with
a "long" name can be created in the root directory (if every other
directory entry is occupied and there are no 2 contiguous entries).

The statfs(2) and df(1) man pages have been updated with a notice
regarding the possibly different semantics of values reported as
total and free inodes for non-Unix file systems.

PR: 270053
Reported by: Ben Woods <woodsb02@freebsd.org>
Approved by: mckusick
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D38987


# 2eee44bd 10-Mar-2022 Baptiste Daroussin <bapt@FreeBSD.org>

df: do not report a 100% full inode usage on fs without inodes

Before:
devfs 2 2 0 100% 0 0 100% /dev

After:
devfs 2 2 0 100% 0 0 - /dev

The previous behaviour was confusing for end users and many monitoring tools

Note the linux df tools is also using the same syntax '-' for such filesystem

MFC After: 2 weeks
Reviewed by: manu, emaste, imp
Differential Revision: https://reviews.freebsd.org/D34515


# f0fd4a32 10-Feb-2022 Stefan Eßer <se@FreeBSD.org>

bin/df: allow -t option to be used together with -l

The df command provides a -l option to exclude all non-local file
systems and a -t option with a (positive or negative) list of file
system types to display.

This commit adds support for a combination of -l and -t. If both are
specified, the parameter list of the -t option is applied on top of
the selection of öocal file systems (independently of the order of
the -l and -t options).

E.g., "df -t noprocfs,sysfs -l" will select all local file systems
except those of type procfs and sysfs.

PR: 260921
Approved by: imp
Relnotes: yes
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D33748


# a0e85d0e 20-Jan-2021 Mateusz Piotrowski <0mp@FreeBSD.org>

Remove the unnecessary space before the colon

MFC after: 3 days


# 1740c2db 13-Nov-2020 Mark Johnston <markj@FreeBSD.org>

df: Remove support for mounting devices

This was marked deprecated in r329092, over two and a half years ago.
This functionality is also buggy per PR 237368.

PR: 237368
Reviewed by: brooks, cem, emaste, imp
Differential Revision: https://reviews.freebsd.org/D27197


# ad3d2e7e 05-Oct-2020 Fernando Apesteguía <fernape@FreeBSD.org>

df(1): Add EXAMPLES section to man page

* Add EXAMPLES section with four simple examples.
* Simplify -H flag description. This makes easy to see the difference between
this flag and -h
* While here, fix .Tn deprecated macro.

Approved by: manpages (bcr@)
Differential Revision: https://reviews.freebsd.org/D26662


# d0bc27e4 08-Aug-2017 Kyle Evans <kevans@FreeBSD.org>

df(1): Add --si as an alias for -H

Reviewed by: cem (earlier version), emaste
Approved by: emaste (mentor)
Differential Revision: https://reviews.freebsd.org/D11749


# fbbd9655 28-Feb-2017 Warner Losh <imp@FreeBSD.org>

Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96


# 06691045 01-Dec-2015 Craig Rodrigues <rodrigc@FreeBSD.org>

Add more text to explain --libxo flag.


# 6fea8dc8 06-Nov-2014 Marcel Moolenaar <marcel@FreeBSD.org>

Document that df(1) supports libxo(3).


# 3a97f8af 16-Jan-2014 Warren Block <wblock@FreeBSD.org>

-h and -H options backwards in manual page.

PR: bin/183681 docs/183681
Submitted by: Robin Hahling <robin.hahling@gw-computing.net>
MFC after: 3 days


# b5a8b741 28-Oct-2013 Christian Brueffer <brueffer@FreeBSD.org>

Clean up a spurious "." in SEE ALSO.

MFC after: 3 days


# c9e571fe 16-May-2013 Greg Lehey <grog@FreeBSD.org>

Complete revision 243104.


# d6a55c6d 25-Jan-2013 Xin LI <delphij@FreeBSD.org>

Don't time travel back and use a present date.

Noticed by: mckusick


# 7eb55d4d 23-Jan-2013 Xin LI <delphij@FreeBSD.org>

- Wrap long line;
- Add -, to SYNOPSIS section.

MFC after: 2 weeks


# 71cfc678 15-Nov-2012 Greg Lehey <grog@FreeBSD.org>

Update man pages and clarify a number of options.
Rework block count calculations to work correctly with small "block" sizes.

MFC after: 14 days


# d7e8bab5 15-Nov-2012 Sergey Kandaurov <pluknet@FreeBSD.org>

Fix section number for pstat and swapinfo cross references.

MFC after: 3 days


# 019e4a53 14-Nov-2012 Greg Lehey <grog@FreeBSD.org>

Add , (comma) option to print sizes grouped and separated by thousands
using the non-monetary separator returned by localeconv(3), typically
a comma or period.

MFC after: 14 days


# 45b586ac 03-Mar-2012 Eitan Adler <eadler@FreeBSD.org>

Bump date to today (since I modified it)

PR: bin/165321
Approved by: gjb
MFC after: 3 days


# 25619921 03-Mar-2012 Eitan Adler <eadler@FreeBSD.org>

Direct users to swapinfo and pstat from df

PR: bin/165321
Submitted by: jhs
Approved by: bcr
MFC after: 3 days


# 16352ac8 18-Oct-2011 Dag-Erling Smørgrav <des@FreeBSD.org>

Minor clarification

MFC after: 3 weeks


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# b93ce3b7 07-Jun-2009 Simon L. B. Nielsen <simon@FreeBSD.org>

Make "human-readable" (-H/-h) output also "humanize" inode counts.
Base 10 is always used for the inode counts as I could not think of any
reason base 2 inode counts would be useful.

Minor mdoc markup fix to df(1) while here anyway.

MFC after: 3 weeks


# b56ca465 23-Nov-2008 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Implement -T option as found in Linux df(1). When given, file system type
will be included in output.

Reviewed and tested by: keramida
MFC after: 2 weeks


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 975ab359 28-Feb-2007 Ruslan Ermilov <ru@FreeBSD.org>

Fix markup.


# 6fca4c7c 16-Jan-2005 Ruslan Ermilov <ru@FreeBSD.org>

Add the new standard EXIT STATUS section where appropriate.
Sort standard sections in the (documented) preferred order.


# 9ddb49cb 10-Jan-2005 Warner Losh <imp@FreeBSD.org>

/*- or .\"- or #- to begin license clauses.


# 6fa13ec0 09-Jan-2005 Ruslan Ermilov <ru@FreeBSD.org>

Scheduled mdoc(7) sweep.


# 239c9e60 20-Jul-2004 Christian S.J. Peron <csjp@FreeBSD.org>

Currently if a mount point is not accessible by the calling user,
invalid information will be printed if the -t flag is specified.

$ df -t ufs
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 495726 139944 316124 31% /
/dev/ad0s1e 253678 6438 226946 3% /tmp
/dev/ad0s1f 56206340 13594248 38115586 26% /usr
/dev/ad0s1d 694126 19812 618784 3% /var
/dev/ad0s1d 694126 19812 618784 3% /var
$

Note that the mount point which is not accessible shows
up as the previous file system that was printed. The reason
for this is that df -t will call statfs(2) on the pathname
supplied by getfsstat(2).

This is done to refresh the file system statistics in the
event that a previous file system had a long delay in
providing its stats.

This change affects the df utility in the following ways:
o Teach df has to deal with statfs(2) failing. If statfs(2)
fails, fall back on the possibly stale stats provided by
the initial call to getfsstat(2).
o Print a warning that the fs stats could possibly be stale
o Modify the man page and document this new behavior
as a bug.

Approved by: bmilekic (mentor)
PR: 68165


# eccea571 02-Jul-2004 Ruslan Ermilov <ru@FreeBSD.org>

Mechanically kill hard sentence breaks.


# 2360f509 16-May-2004 Ruslan Ermilov <ru@FreeBSD.org>

Bump document date for the latest functional change.
Minor markup tweaks.


# 7fed1986 22-Apr-2004 David E. O'Brien <obrien@FreeBSD.org>

Add 'g' to SYNOPSIS.


# 076419d2 18-Apr-2004 David E. O'Brien <obrien@FreeBSD.org>

Add -c option simular to du(1).

PR: 19635
Submitted by: cyrille.lefevre@laposte.net


# 6195fb41 06-Apr-2004 Mark Murray <markm@FreeBSD.org>

Remove clause 3 from the UCB licenses.

OK'ed by: imp, core


# 1da10b11 02-Jun-2003 Bruce Evans <bde@FreeBSD.org>

Catch up with revs 1.49-1.50 of df.c: don't mention -t in the BUGS section
since it has been fixed.


# bf88fa93 06-May-2003 Tom Rhodes <trhodes@FreeBSD.org>

df(1) and ls(1) print units in 'four or fewer' not 'three or less'.

PR: 35523
Submitted by: Tomas Svensson <tsn@gbdev.net>


# 55c639b2 25-Aug-2002 Tom Rhodes <trhodes@FreeBSD.org>

Fix 'SYNOPSIS' and 'usage'


# 7d971bbf 21-Aug-2002 Tom Rhodes <trhodes@FreeBSD.org>

s/filesystem/file system/ as discussed on -developers


# e004acc8 16-Apr-2002 Philippe Charnier <charnier@FreeBSD.org>

Use `The .Nm utility'


# caa2db3b 10-Jul-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: removed HISTORY info from the .Os call.


# a25695c3 04-Jun-2001 Jim Pirzyk <pirzyk@FreeBSD.org>

Added the -l option to df, so to be compatable with other unicies.

PR: bin/27240
Reviewed by: GAWollman
MFC after: 2 weeks


# 0b381bf1 01-Jun-2001 Ruslan Ermilov <ru@FreeBSD.org>

Remove vestiges of MFS.


# d0353b83 01-Feb-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: split punctuation characters + misc fixes.


# be8b1497 20-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the new features of the Nm macro.


# 93a3fa19 03-Jun-2000 John W. De Boskey <jwd@FreeBSD.org>

Add -g for gigabyte sizes.

Approved by: jkh


# f167d7fb 09-May-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Fix miscellaneous mdoc macro argument limit infringements.

PR: 18465
Reported by: Kazu TAKAMUNE <takamune@avrl.mei.co.jp>


# dd6d33e8 14-Dec-1999 Michael Haro <mharo@FreeBSD.org>

add human readable output (-h and -H)

Obtained from: parts of human readable code from OpenBSD
Reviewed by: obrien

add POSIX, byte and megabyte block size ouput flags

PR: 13579 (POSIX flag)
Submitted by: Mike Meyer <mwm@phone.net>


# 5b42dac8 31-Oct-1999 Julian Elischer <julian@FreeBSD.org>

Most modern OSs have the ability to flag certain mounts as ones to
be ignored by default by the df(1) program. This is used mostly to
avoid stat()-ing entries that do not represent "real" disk mount
points (such as those made by an automounter such as amd.) It is
also useful not to have to stat() these entries because it takes
longer to report them that for other file systems, being that these
mount points are served by a user-level file server and resulting in
several context switches. Worse, if the automounter is down
unexpectedly, a causal df(1) will hang in an interruptible way.

PR: kern/9764
Submitted by: Erez Zadok <ezk@cs.columbia.edu>


# 2a456239 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# b84897d1 26-Aug-1999 Sheldon Hearn <sheldonh@FreeBSD.org>

Don't suggest sysctl(8) as a means for discovering what filesystem types
are available; suggest lsvfs(1) instead.

Reported by: Neil Blakey-Milner <nbm@rucus.ru.ac.za>


# 43d1df33 11-Feb-1999 Alexander Langer <alex@FreeBSD.org>

Removed occurrences of consecutive repeated words (such as "the the").


# 84717b42 13-May-1998 Poul-Henning Kamp <phk@FreeBSD.org>

.Sh ENVIRONMENT VARIABLES -> .Sh ENVIRONMENT

PR: 6599
Reviewed by: phk
Submitted by: Josh Gilliam <josh@quick.net>


# d072138a 13-May-1998 Philippe Charnier <charnier@FreeBSD.org>

Correct use of .Nm.


# 34384756 18-Sep-1997 Philippe Charnier <charnier@FreeBSD.org>

environmental -> environment.


# 611d1296 13-Mar-1997 Bruce Evans <bde@FreeBSD.org>

Merged from Lite2. The man page no longer attempts to list all the
vfs types.

Fixed ordering of FreeBSD `k' option in synopsis.


# b97fa2ef 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# faa69d1a 17-Feb-1997 Bruce Evans <bde@FreeBSD.org>

Attempt to import Lite2's df.


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# af202156 12-Jan-1997 Wolfram Schneider <wosch@FreeBSD.org>

Sort cross references.


# 8a166df9 13-Dec-1996 Steve Price <steve@FreeBSD.org>

Merge Lite2 mods, cleanup man page, and -Wall cleaning.


# 2ffc1ec6 11-Dec-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

The manual page of df called cd9660 file systems by the name
isofs while the df command itself used the name iso9660fs or
cdfs. Both of these were inconsistent with the name cd9660 which
is used by the mount command. I modified df to recognize all of
the names cd9660, cdfs, isofs, and iso9660fs, and take them all
to refer to the same thing. Naturally I added a note of this
behaviour in the manual page too.

Submitted-By: Jukka Ukkonen <jau@jau.csc.fi>


# b8923d4c 29-Aug-1996 Wolfram Schneider <wosch@FreeBSD.org>

[HISTORY] command appeared in Version 1 AT&T UNIX
Obtained from: A Quarter Century of UNIX, Peter H. Salus, page 41


# 89730b29 23-Sep-1994 David Greenman <dg@FreeBSD.org>

Added $Id$


# 7f0eabfd 10-Aug-1994 Garrett Wollman <wollman@FreeBSD.org>

Gimme back my `-k' option!
Also document `-t' option in the usage message.


# 4b88c807 26-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite bin Sources