summaryrefslogtreecommitdiffstats
path: root/bin/df
Commit message (Collapse)AuthorAgeFilesLines
* Minor clarificationdes2011-10-181-1/+2
| | | | MFC after: 3 weeks
* Simplify df(1) by factoring out most of the common code:des2011-10-181-26/+27
| | | | | | | | | | | | | | | | | | | | | - In the argc == 0 case, just populate the mount list as before, but do not calculate widths, update totals or print anything. - In the argv > 0 case, collect information about the requested file systems and store it in the mount list, but do not calculate widths, update totals or print anything. - In either case, once all the information has been collected, iterate once through the mount list to calculate widths and totals, then once more to print everything. This also fixes two bugs: firstly, column widths were not calculated correctly if more than one file system was specified on the command line; and secondly, file systems with MNT_IGNORE were included in the totals even if -a was not specified. Noticed by: Paul Schenkeveld MFC after: 3 weeks
* Fix typos - remove duplicate "the".brucec2011-02-211-1/+1
| | | | | | PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
* Staticify internal routines.delphij2009-06-231-1/+1
|
* Make "human-readable" (-H/-h) output also "humanize" inode counts.simon2009-06-072-6/+37
| | | | | | | | | 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
* Implement -T option as found in Linux df(1). When given, file system typepjd2008-11-232-7/+19
| | | | | | | will be included in output. Reviewed and tested by: keramida MFC after: 2 weeks
* Significantly reduce the memory leak as noted in BUGS section forscf2007-07-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | setenv(3) by tracking the size of the memory allocated instead of using strlen() on the current value. Convert all calls to POSIX from historic BSD API: - unsetenv returns an int. - putenv takes a char * instead of const char *. - putenv no longer makes a copy of the input string. - errno is set appropriately for POSIX. Exceptions involve bad environ variable and internal initialization code. These both set errno to EFAULT. Several patches to base utilities to handle the POSIX changes from Andrey Chernov's previous commit. A few I re-wrote to use setenv() instead of putenv(). New regression module for tools/regression/environ to test these functions. It also can be used to test the performance. Bump __FreeBSD_version to 700050 due to API change. PR: kern/99826 Approved by: wes Approved by: re (kensmith)
* Back out all POSIXified *env() changes.ache2007-05-011-4/+4
| | | | | | | | | Not because I admit they are technically wrong and not because of bug reports (I receive nothing). But because I surprisingly meets so strong opposition and resistance so lost any desire to continue that. Anyone who interested in POSIX can dig out what changes and how through cvs diffs.
* Eliminate error with -W* strict flags and make putenv() calls conforming toache2007-04-301-4/+4
| | | | standard in the same way as f.e. gcc internal portable code does.
* getblocksize expects pointer to long as a second argument, notkan2007-04-061-2/+2
| | | | a pointer to u_long.
* Fix a bug where the mutual exclusivity of the -l and -t options is notwill2007-03-081-1/+4
| | | | | | | recognized properly if -l is specified first. PR: bin/105721 MFC after: 1 week
* Fix markup.ru2007-02-281-2/+3
|
* Based on The Open Group Base Specifications Issue 6 IEEE Std 1003.1, ourcsjp2006-09-201-2/+11
| | | | | | | | | | | | | | | | | | | | | | current implementation of df(1) is does not properly format the output under certain conditions. Right now -kP and -Pk are not the same thing. Further, when we set the BLOCKSIZE environment variable, we use "1k" instead of "1024", making the header display incorrectly. To quote the specification: "When both the -k and -P options are specified, the following header line shall be written (in the POSIX locale): "Filesystem 1024-blocks Used Available Capacity Mounted on\n" - If -P has been specified, check to make sure that -k has not already been specified, if so, simply break instead of clobbering the previous blocksize - Use 1024 instead of 1k to make the header POSIX compliant Reported by: Andriy Gapon Discussed with: bde, ru MFC after: 1 week
* Prefer strlcpy to strncpy. In one case, this saves us from re-zeroingimp2006-08-201-2/+2
| | | | | data that's alreday 0. In another, it saves us from zeroing data that will be overwritten again.
* Add the new standard EXIT STATUS section where appropriate.ru2005-01-161-7/+7
| | | | Sort standard sections in the (documented) preferred order.
* /*- or .\"- or #- to begin license clauses.imp2005-01-102-1/+2
|
* Scheduled mdoc(7) sweep.ru2005-01-091-1/+2
|
* Currently if a mount point is not accessible by the calling user,csjp2004-07-202-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Mechanically kill hard sentence breaks.ru2004-07-021-6/+12
|
* Convert fsbtoblk() from a macro to a function. The redundantdas2004-06-041-8/+13
| | | | | | | | | | instances of 64-bit arithmetic were costing 775 bytes, and the inlining offered no benefit. Moreover, ambiguity as to the argument types led to the introduction of a bug (see rev 1.56). Also, remove some casts that are now clearly redundant. Inspired by: 67467
* Use humanize_number(3) to format sizes into a human readable form.pjd2004-05-242-88/+19
|
* Bump document date for the latest functional change.ru2004-05-161-5/+2
| | | | Minor markup tweaks.
* Fix some style issues in rev 1.58.obrien2004-04-221-13/+12
| | | | | Use 64-bit integer math vs. mixed FP & integer. Add -g to the usage().
* Add 'g' to SYNOPSIS.obrien2004-04-221-1/+1
|
* Fix printing of the "Mounted on" values for 'df -i'.obrien2004-04-221-2/+4
| | | | | | Fix spacing before "Mounted on" column in general. Submitted by: bde
* Add -c option simular to du(1).obrien2004-04-183-15/+51
| | | | | PR: 19635 Submitted by: cyrille.lefevre@laposte.net
* Remove clause 3 from the UCB licenses.markm2004-04-062-8/+0
| | | | OK'ed by: imp, core
* And a bandaid so that the output of "available space" is correct whenle2004-03-091-1/+2
| | | | | | | | | | using -m and -g switches and "available space" is negative (i.e. when the file system is already using the root-reserved minimum free space). Obtained from: Stefan Farfeleder <stefan@fafoe.narf.at> PR: bin/62536 Submitted by: Peter van Dijk <peter@dataloss.nl> Approved by: grog (mentor), bde
* Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror)markm2004-03-051-1/+1
| | | | | | | | | | | | | | | that this provokes. "Wherever possible" means "In the kernel OR NOT C++" (implying C). There are places where (void *) pointers are not valid, such as for function pointers, but in the special case of (void *)0, agreement settles on it being OK. Most of the fixes were NULL where an integer zero was needed; many of the fixes were NULL where ascii <nul> ('\0') was needed, and a few were just "other". Tested on: i386 sparc64
* Use int rather than size_t storage for printf field widths to avoidiedowse2004-02-081-43/+41
| | | | | | many casts. Reviewed by: bde
* Fix format strings (intmax_t is %jd, not %qd)kris2003-11-121-2/+2
| | | | Reviewed by: tjr
* Update the statfs structure with 64-bit fields to allowmckusick2003-11-121-23/+25
| | | | | | | | | | | | | | | | | accurate reporting of multi-terabyte filesystem sizes. You should build and boot a new kernel BEFORE doing a `make world' as the new kernel will know about binaries using the old statfs structure, but an old kernel will not know about the new system calls that support the new statfs structure. Running an old kernel after a `make world' will cause programs such as `df' that do a statfs system call to fail with a bad system call. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Tim Robbins <tjr@freebsd.org> Reviewed by: Julian Elischer <julian@elischer.org> Reviewed by: the hoards of <arch@freebsd.org> Sponsored by: DARPA & NAI Labs.
* Be a little bit more correct WRT counting numbers vs. integer numbers.obrien2003-09-131-10/+10
|
* Get this area compiling with the highest WARNS= that it works with.markm2003-06-131-4/+3
| | | | | | | Obsolete WFORMAT= junk also removed where possible. OK'ed by: obrien Tested on: sparc64, alpha, i386
* Catch up with revs 1.49-1.50 of df.c: don't mention -t in the BUGS sectionbde2003-06-031-3/+1
| | | | since it has been fixed.
* Fixed exit code in previous commit. "var++" to set a flag to nonzerobde2003-06-031-5/+9
| | | | | | | | | | | | | | | | is a style bug at best. When the variable isn't a flag, it potentially overflows after a large number of settings. Here the number of settings is limited by ARG_MAX, but the variable is the exit code so it became bogus after the second setting and effectively overflowed to 0 after approx. 128 settings. Fixed some style bugs involving comments in and near previous commit. Clarification of previous commit message: df -t didn't give undefined behaviour, and the behaviour used to conform perfectly with the man page, since the buggy behaviour is documented in the BUGS section. -t just worked when no files or file systems were specified, and was just ignored if a file or file system was specified.
* From the df man page:jkh2003-06-021-0/+9
| | | | | | | | | | -t Only print out statistics for filesystems of the specified types. Make the behavior of df(1) conform to its man page (behavior is otherwise undefined). Submitted by: Rob Braun <bbraun@apple.com> Obtained from: Apple
* df(1) and ls(1) print units in 'four or fewer' not 'three or less'.trhodes2003-05-061-2/+2
| | | | | PR: 35523 Submitted by: Tomas Svensson <tsn@gbdev.net>
* WARNS cleaning for the Alpha. On alpha, size_t is a long, and itmarkm2003-05-031-13/+17
| | | | | solicits a warning when used for the '*' in printf("%*d"). Cast to u_int for universal use.
* Fix a shedload of warnings, some memory leaks and clean up WARNSmarkm2003-05-031-39/+61
| | | | and lint. This is now WARNS=9, std=c99 clean on i386.
* Quiet warnings about copyright[].obrien2003-05-011-2/+2
|
* Back out rev 1.44; getbsize(3)'s original interface has been restored.mike2002-12-301-4/+3
| | | | Approved by: markm
* Fix for changed getbsize arg type.markm2002-10-231-3/+4
|
* Fix 'SYNOPSIS' and 'usage'trhodes2002-08-262-2/+2
|
* s/filesystem/file system/ as discussed on -developerstrhodes2002-08-212-22/+22
|
* - Introduce a new struct xvfsconf, the userland version of struct vfsconf.mux2002-08-101-12/+21
| | | | | | | | | | | | | | | | | | | | | | | - Make getvfsbyname() take a struct xvfsconf *. - Convert several consumers of getvfsbyname() to use struct xvfsconf. - Correct the getvfsbyname.3 manpage. - Create a new vfs.conflist sysctl to dump all the struct xvfsconf in the kernel, and rewrite getvfsbyname() to use this instead of the weird existing API. - Convert some {set,get,end}vfsent() consumers to use the new vfs.conflist sysctl. - Convert a vfsload() call in nfsiod.c to kldload() and remove the useless vfsisloadable() and endvfsent() calls. - Add a warning printf() in vfs_sysctl() to tell people they are using an old userland. After these changes, it's possible to modify struct vfsconf without breaking the binary compatibility. Please note that these changes don't break this compatibility either. When bp will have updated mount_smbfs(8) with the patch I sent him, there will be no more consumers of the {set,get,end}vfsent(), vfsisloadable() and vfsload() API, and I will promptly delete it.
* Consistently use __FBSDIDobrien2002-06-301-3/+2
|
* Unconditionally update the maximum field width statistics when weiedowse2002-05-181-5/+3
| | | | | | | refetch the filesystem information in MNT_WAIT mode. This avoids incorrect column alignment that sometimes occurs with NFS filesystems. Submitted by: Ian <freebsd@damnhippie.dyndns.org>
* Remove the private code for reading UFS superblocks, this does not belongphk2002-05-122-110/+36
| | | | | | | | | | | | | | | | in df(1) when we have multiple filesystem types, and the complications of handling UFS2 pushes this over the edge. Use the .../mount/extern.h to get prototypes of the functions we borrow from there. Constify things to match. (why aren't these functions in a lib anyway ?) Make everything static and set WARNS?=5. The way the "df diskdevice" thing works for unmounted diskdevices is not very general. Sponsored by: DARPA & NAI Labs.
* Use `The .Nm utility'charnier2002-04-161-1/+3
|
OpenPOWER on IntegriCloud