summaryrefslogtreecommitdiffstats
path: root/misc-utils/findmnt.c
diff options
context:
space:
mode:
authorDave Reisner2012-03-18 04:36:33 +0100
committerKarel Zak2012-03-20 09:53:47 +0100
commiteda399b9950d80a1cc83c9ac50e0262fc6772807 (patch)
tree7f3d16a3f07748897a673e6362681e8865bcbcd4 /misc-utils/findmnt.c
parenttunelp: remove old, now unneeded header (diff)
downloadkernel-qcow2-util-linux-eda399b9950d80a1cc83c9ac50e0262fc6772807.tar.gz
kernel-qcow2-util-linux-eda399b9950d80a1cc83c9ac50e0262fc6772807.tar.xz
kernel-qcow2-util-linux-eda399b9950d80a1cc83c9ac50e0262fc6772807.zip
findmnt: add -D, --df option to imitate df(1)
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Diffstat (limited to 'misc-utils/findmnt.c')
-rw-r--r--misc-utils/findmnt.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
index 6bec6866d..acaedfc56 100644
--- a/misc-utils/findmnt.c
+++ b/misc-utils/findmnt.c
@@ -885,6 +885,7 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
fprintf(out, _(
" -a, --ascii use ASCII chars for tree formatting\n"
" -c, --canonicalize canonicalize printed paths\n"
+ " -D, --df imitate the output of df(1)\n"
" -d, --direction <word> direction of search, 'forward' or 'backward'\n"
" -e, --evaluate convert tags (LABEL/UUID) to device names\n"
" -F, --tab-file <path> alternative file for --fstab, --mtab or --kernel options\n"
@@ -931,7 +932,7 @@ int main(int argc, char *argv[])
struct libmnt_table *tb = NULL;
char **tabfiles = NULL;
int direction = MNT_ITER_FORWARD;
- int i, c, rc = -1, timeout = -1;
+ int i, c, rc = -1, timeout = -1, df_output = 0;
int ntabfiles = 0, tabtype = 0;
/* table.h */
@@ -941,6 +942,7 @@ int main(int argc, char *argv[])
{ "ascii", 0, 0, 'a' },
{ "canonicalize", 0, 0, 'c' },
{ "direction", 1, 0, 'd' },
+ { "df", 0, 0, 'D' },
{ "evaluate", 0, 0, 'e' },
{ "first-only", 0, 0, 'f' },
{ "fstab", 0, 0, 's' },
@@ -977,7 +979,7 @@ int main(int argc, char *argv[])
tt_flags |= TT_FL_TREE;
while ((c = getopt_long(argc, argv,
- "acd:ehifF:o:O:p::Pklmnrst:uvRS:T:w:",
+ "acDd:ehifF:o:O:p::Pklmnrst:uvRS:T:w:",
longopts, NULL)) != -1) {
switch(c) {
case 'a':
@@ -986,6 +988,10 @@ int main(int argc, char *argv[])
case 'c':
flags |= FL_CANONICALIZE;
break;
+ case 'D':
+ tt_flags &= ~TT_FL_TREE;
+ df_output = 1;
+ break;
case 'd':
if (!strcmp(optarg, "forward"))
direction = MNT_ITER_FORWARD;
@@ -1095,6 +1101,16 @@ int main(int argc, char *argv[])
}
}
+ if (df_output) {
+ columns[ncolumns++] = COL_SOURCE;
+ columns[ncolumns++] = COL_FSTYPE;
+ columns[ncolumns++] = COL_SIZE;
+ columns[ncolumns++] = COL_USED;
+ columns[ncolumns++] = COL_AVAIL;
+ columns[ncolumns++] = COL_USEPERC;
+ columns[ncolumns++] = COL_TARGET;
+ }
+
/* default columns */
if (!ncolumns) {
if (flags & FL_POLL)