diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-18 21:08:49 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-18 21:08:49 +0000 |
commit | de7684a309ad20c1b889d048d741cb1dd52245f7 (patch) | |
tree | efae3387e1978cdd128ff2a922b734d0e9d0180f /util-linux/findfs.c | |
parent | 27dd495b98a6135554b1d839fefe436ba3c6ca71 (diff) | |
download | busybox-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.c | 38 |
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 | |||
14 | int findfs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | ||
15 | int 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 | } | ||