aboutsummaryrefslogtreecommitdiff
path: root/util-linux/findfs.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-02-18 21:08:49 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-02-18 21:08:49 +0000
commitde7684a309ad20c1b889d048d741cb1dd52245f7 (patch)
treeefae3387e1978cdd128ff2a922b734d0e9d0180f /util-linux/findfs.c
parent27dd495b98a6135554b1d839fefe436ba3c6ca71 (diff)
downloadbusybox-w32-de7684a309ad20c1b889d048d741cb1dd52245f7.tar.gz
busybox-w32-de7684a309ad20c1b889d048d741cb1dd52245f7.tar.bz2
busybox-w32-de7684a309ad20c1b889d048d741cb1dd52245f7.zip
support for mount by label (not yet tested)
Also adds findfs applet. Closes bug 1143.
Diffstat (limited to 'util-linux/findfs.c')
-rw-r--r--util-linux/findfs.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/util-linux/findfs.c b/util-linux/findfs.c
new file mode 100644
index 000000000..4f036425c
--- /dev/null
+++ b/util-linux/findfs.c
@@ -0,0 +1,38 @@
1/* vi: set sw=4 ts=4: */
2/*
3 * Support functions for mounting devices by label/uuid
4 *
5 * Copyright (C) 2006 by Jason Schoon <floydpink@gmail.com>
6 * Some portions cribbed from e2fsprogs, util-linux, dosfstools
7 *
8 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
9 */
10
11#include "libbb.h"
12#include "volume_id.h"
13
14int findfs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
15int findfs_main(int argc, char **argv)
16{
17 char *tmp = NULL;
18
19 if (argc != 2)
20 bb_show_usage();
21
22 if (!strncmp(argv[1], "LABEL=", 6))
23 tmp = get_devname_from_label(argv[1] + 6);
24 else if (!strncmp(argv[1], "UUID=", 5))
25 tmp = get_devname_from_uuid(argv[1] + 5);
26 else if (!strncmp(argv[1], "/dev/", 5)) {
27 /* Just pass a device name right through. This might aid in some scripts
28 being able to call this unconditionally */
29 tmp = argv[1];
30 } else
31 bb_show_usage();
32
33 if (tmp) {
34 puts(tmp);
35 return 0;
36 }
37 return 1;
38}