diff options
author | Theodore Ts'o <tytso@mit.edu> | 2002-08-17 23:01:22 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2002-08-17 23:01:22 -0400 |
commit | 118d7dacc535fde4e2ed8d996de3919aa0eb2e98 (patch) | |
tree | e08b2c9b644996f489d9821fe69a3dbb96c714fb /misc/tune2fs.c | |
parent | e5b164373c2b7feb867f701f6493e3d87765272c (diff) | |
download | e2fsprogs-118d7dacc535fde4e2ed8d996de3919aa0eb2e98.tar.gz |
Add support for searching /proc/evms/volumes when interpreting
LABEL=xxx or UUID=xxx.
Add new utility program /sbin/findfs, which interprets LABEL=xxx or
UUID=xxx, and returns the device name. (Part of tune2fs).
Diffstat (limited to 'misc/tune2fs.c')
-rw-r--r-- | misc/tune2fs.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/misc/tune2fs.c b/misc/tune2fs.c index 7930c783..a644bb49 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -627,8 +627,26 @@ static void parse_tune2fs_options(int argc, char **argv) if (!open_flag && !l_flag) usage(); device_name = argv[optind]; -} +} + +do_findfs(int argc, char **argv) +{ + char *dev; + if ((argc != 2) || + (strncmp(argv[1], "LABEL=", 6) && strncmp(argv[1], "UUID=", 5))) { + fprintf(stderr, "Usage: findfs LABEL=<label>|UUID=<uuid>\n"); + exit(2); + } + dev = interpret_spec(argv[1]); + if (!dev) { + fprintf(stderr, "Filesystem matching %s not found\n", + argv[1]); + exit(1); + } + puts(dev); + exit(0); +} int main (int argc, char ** argv) @@ -647,6 +665,8 @@ int main (int argc, char ** argv) program_name = *argv; initialize_ext2_error_table(); + if (strcmp(get_progname(argv[0]), "findfs") == 0) + do_findfs(argc, argv); if (strcmp(get_progname(argv[0]), "e2label") == 0) parse_e2label_options(argc, argv); else |