zte's code,first commit
Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/ap/app/busybox/src/util-linux/findfs.c b/ap/app/busybox/src/util-linux/findfs.c
new file mode 100644
index 0000000..49e8979
--- /dev/null
+++ b/ap/app/busybox/src/util-linux/findfs.c
@@ -0,0 +1,47 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * Support functions for mounting devices by label/uuid
+ *
+ * Copyright (C) 2006 by Jason Schoon <floydpink@gmail.com>
+ * Some portions cribbed from e2fsprogs, util-linux, dosfstools
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
+ */
+
+//usage:#define findfs_trivial_usage
+//usage: "LABEL=label or UUID=uuid"
+//usage:#define findfs_full_usage "\n\n"
+//usage: "Find a filesystem device based on a label or UUID"
+//usage:
+//usage:#define findfs_example_usage
+//usage: "$ findfs LABEL=MyDevice"
+
+#include "libbb.h"
+#include "volume_id.h"
+
+int findfs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int findfs_main(int argc UNUSED_PARAM, char **argv)
+{
+ char *dev = *++argv;
+
+ if (!dev)
+ bb_show_usage();
+
+ if (strncmp(dev, "/dev/", 5) == 0) {
+ /* Just pass any /dev/xxx name right through.
+ * This might aid in some scripts being able
+ * to call this unconditionally */
+ dev = NULL;
+ } else {
+ /* Otherwise, handle LABEL=xxx and UUID=xxx,
+ * fail on anything else */
+ if (!resolve_mount_spec(argv))
+ bb_show_usage();
+ }
+
+ if (*argv != dev) {
+ puts(*argv);
+ return 0;
+ }
+ return 1;
+}