From de7684a309ad20c1b889d048d741cb1dd52245f7 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 18 Feb 2008 21:08:49 +0000 Subject: support for mount by label (not yet tested) Also adds findfs applet. Closes bug 1143. --- util-linux/findfs.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 util-linux/findfs.c (limited to 'util-linux/findfs.c') 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 @@ +/* vi: set sw=4 ts=4: */ +/* + * Support functions for mounting devices by label/uuid + * + * Copyright (C) 2006 by Jason Schoon + * Some portions cribbed from e2fsprogs, util-linux, dosfstools + * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. + */ + +#include "libbb.h" +#include "volume_id.h" + +int findfs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; +int findfs_main(int argc, char **argv) +{ + char *tmp = NULL; + + if (argc != 2) + bb_show_usage(); + + if (!strncmp(argv[1], "LABEL=", 6)) + tmp = get_devname_from_label(argv[1] + 6); + else if (!strncmp(argv[1], "UUID=", 5)) + tmp = get_devname_from_uuid(argv[1] + 5); + else if (!strncmp(argv[1], "/dev/", 5)) { + /* Just pass a device name right through. This might aid in some scripts + being able to call this unconditionally */ + tmp = argv[1]; + } else + bb_show_usage(); + + if (tmp) { + puts(tmp); + return 0; + } + return 1; +} -- cgit v1.2.3