From d466c6a1fe66603227b3ff73a21a45abd77ee826 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Sun, 11 Dec 2011 13:58:05 -0500 Subject: [PATCH] findmnt: support alternative location of fstab Signed-off-by: Dave Reisner Signed-off-by: Karel Zak --- misc-utils/findmnt.8 | 6 ++++-- misc-utils/findmnt.c | 9 +++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/misc-utils/findmnt.8 b/misc-utils/findmnt.8 index 24e3a52..7f3dc6c 100644 --- a/misc-utils/findmnt.8 +++ b/misc-utils/findmnt.8 @@ -36,12 +36,14 @@ The command prints all mounted filesystems in the tree-like format by default. .SH OPTIONS .IP "\fB\-h, \-\-help\fP" Print help and exit. -.IP "\fB\-s, \-\-fstab\fP" +.IP "\fB\-s, \-\-fstab\fR[\fI=fstab\fR]\fP" Search in .IR /etc/fstab and .IR /etc/fstab.d . -The output is in the list format (see --list). +The output is in the list format (see --list). Optionally, search the file +specified by +.IR fstab . .IP "\fB\-m, \-\-mtab\fP" Search in .IR /etc/mtab . diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c index 4577dc6..5502a87 100644 --- a/misc-utils/findmnt.c +++ b/misc-utils/findmnt.c @@ -770,7 +770,7 @@ static void __attribute__((__noreturn__)) usage(FILE *out) fprintf(out, _( "\nOptions:\n" - " -s, --fstab search in static table of filesystems\n" + " -s, --fstab[=] search in static table of filesystems\n" " -m, --mtab search in table of mounted filesystems\n" " -k, --kernel search in kernel table of mounted\n" " filesystems (default)\n\n")); @@ -839,7 +839,7 @@ int main(int argc, char *argv[]) { "direction", 1, 0, 'd' }, { "evaluate", 0, 0, 'e' }, { "first-only", 0, 0, 'f' }, - { "fstab", 0, 0, 's' }, + { "fstab", 2, 0, 's' }, { "help", 0, 0, 'h' }, { "invert", 0, 0, 'i' }, { "kernel", 0, 0, 'k' }, @@ -872,7 +872,8 @@ int main(int argc, char *argv[]) tt_flags |= TT_FL_TREE; while ((c = getopt_long(argc, argv, - "acd:ehifo:O:p::Pklmnrst:uvRS:T:w:", longopts, NULL)) != -1) { + "acd:ehifo:O:p::Pklmnrs::t:uvRS:T:w:", + longopts, NULL)) != -1) { switch(c) { case 'a': tt_flags |= TT_FL_ASCII; @@ -938,7 +939,7 @@ int main(int argc, char *argv[]) case 's': /* fstab */ if (tabfile) errx_mutually_exclusive("--{fstab,mtab,kernel}"); - tabfile = _PATH_MNTTAB; + tabfile = optarg ? optarg : _PATH_MNTTAB; tt_flags &= ~TT_FL_TREE; break; case 'k': /* kernel (mountinfo) */ -- 1.7.8.1