summaryrefslogtreecommitdiff
path: root/src/df.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1994-10-27 04:18:00 +0000
committerJim Meyering <jim@meyering.net>1994-10-27 04:18:00 +0000
commit4c8adc4821c487cd8301d9898f84bcd133abccf9 (patch)
treef93d1241b8772dcea6d9e2c2dd89f295a29ca348 /src/df.c
parent9f7d860db260ecd96bb6f55f1f4ac6e52d1f047d (diff)
downloadcoreutils-4c8adc4821c487cd8301d9898f84bcd133abccf9.tar.xz
.
Diffstat (limited to 'src/df.c')
-rw-r--r--src/df.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/df.c b/src/df.c
index 23be53140..2145bfa41 100644
--- a/src/df.c
+++ b/src/df.c
@@ -79,6 +79,10 @@ static int kilobyte_blocks;
/* If nonzero, use the POSIX output format. */
static int posix_format;
+/* If nonzero, invoke the `sync' system call. Using this option
+ can make df very slow, especially with many or very busy disks. */
+static int require_sync;
+
/* Nonzero if errors have occurred. */
static int exit_status;
@@ -127,6 +131,7 @@ static struct option const long_options[] =
{"kilobytes", no_argument, &kilobyte_blocks, 1},
{"portability", no_argument, &posix_format, 1},
{"print-type", no_argument, &print_type, 1},
+ {"sync", no_argument, 0, 's'},
{"type", required_argument, 0, 't'},
{"exclude-type", required_argument, 0, 'x'},
{"help", no_argument, &show_help, 1},
@@ -175,6 +180,9 @@ main (argc, argv)
case 'P':
posix_format = 1;
break;
+ case 's':
+ require_sync = 1;
+ break;
case 't':
add_fs_type (optarg);
break;
@@ -227,7 +235,8 @@ main (argc, argv)
error (1, errno, "cannot read table of mounted filesystems");
print_header ();
- sync ();
+ if (require_sync)
+ sync ();
if (optind == argc)
show_all_entries ();
@@ -505,6 +514,7 @@ usage (status)
-a, --all include filesystems having 0 blocks\n\
-i, --inodes list inode information instead of block usage\n\
-k, --kilobytes use 1024 blocks, not 512 despite POSIXLY_CORRECT\n\
+ -s, --sync invoke sync system call before getting usage info\n\
-t, --type=TYPE limit the listing to TYPE filesystems type\n\
-x, --exclude-type=TYPE limit the listing to not TYPE filesystems type\n\
-v (ignored)\n\