blkid: new applet. We almost had everything needed for it already
authorDenis Vlasenko <vda.linux@googlemail.com>
Sun, 12 Oct 2008 11:20:08 +0000 (11:20 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sun, 12 Oct 2008 11:20:08 +0000 (11:20 -0000)
function                                             old     new   delta
display_uuid_cache                                     -      89     +89
blkid_main                                             -       8      +8
applet_names                                        1871    1877      +6
applet_main                                         1140    1144      +4
applet_nameofs                                       570     572      +2
packed_usage                                       24737   24735      -2
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 3/1 up/down: 109/-2)            Total: 107 bytes

include/applets.h
include/usage.h
include/volume_id.h
util-linux/Config.in
util-linux/Kbuild
util-linux/volume_id/Kbuild
util-linux/volume_id/get_devname.c

index 35649d3df5d9b54c8b51cac014fe6106b4ac314d..828900e46ba4503bac9c2d9efb47633ba4e8cf83 100644 (file)
@@ -80,6 +80,7 @@ USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk))
 USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename))
 USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
 //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER))
+USE_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
 USE_BUNZIP2(APPLET(bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_BUNZIP2(APPLET_ODDNAME(bzcat, bunzip2, _BB_DIR_USR_BIN, _BB_SUID_NEVER, bzcat))
index d2478641c9491d541887b042765fd388008f0d81..3c110132e7ff088b8f8bef7b7dc8cca4882641b7 100644 (file)
      "\n       -z              Delete messages on server" \
      "\n       prog            Run 'prog <message_file>' on message delivery" \
 
+#define blkid_trivial_usage \
+       ""
+#define blkid_full_usage "\n\n" \
+       "Print UUIDs of all filesystems."
+
 #define findfs_trivial_usage \
        "LABEL=label or UUID=uuid"
 #define findfs_full_usage "\n\n" \
index 99cb11ff603dd40716112d9131c52d14cd5f0a75..bba32c0bafd63cc6b792ef5faa892b6ca712b5f5 100644 (file)
@@ -20,3 +20,4 @@
 
 char *get_devname_from_label(const char *spec);
 char *get_devname_from_uuid(const char *spec);
+void display_uuid_cache(void);
index 2ba9f01665555d7645203306329b47682cb2dd8f..ba0916a509ec0a3d9575554c3e5c803ad9c874d0 100644 (file)
@@ -5,6 +5,15 @@
 
 menu "Linux System Utilities"
 
+config BLKID
+       bool "blkid"
+       default n
+       select VOLUMEID
+       help
+         Lists labels and UUIDs of all filesystems.
+         WARNING:
+         With all submodules selected, it will add ~8k to busybox.
+
 config DMESG
        bool "dmesg"
        default n
@@ -156,9 +165,7 @@ config FINDFS
        default n
        select VOLUMEID
        help
-         This is similar to the findfs program that is part of the e2fsprogs
-         package. However, the e2fsprogs version only support ext2/3. This
-         version supports those in addition to FAT, swap, and ReiserFS.
+         Prints the name of a filesystem with given laver or UUID.
          WARNING:
          With all submodules selected, it will add ~8k to busybox.
 
@@ -651,7 +658,7 @@ config FEATURE_MOUNT_LABEL
        select VOLUMEID
        help
          This allows for specifying a device by label or uuid, rather than by
-         name. This feature utilizes the same functionality as findfs.
+         name. This feature utilizes the same functionality as blkid/findfs.
 
 config FEATURE_MOUNT_NFS
        bool "Support mounting NFS file systems"
index 38569c69b08f006a0a03370b06a0d3a25b32a844..2d0fc4928ae2d60274f36ea2901d1f357b685915 100644 (file)
@@ -5,6 +5,7 @@
 # Licensed under the GPL v2, see the file LICENSE in this tarball.
 
 lib-y:=
+lib-$(CONFIG_BLKID)             += blkid.o
 lib-$(CONFIG_DMESG)             += dmesg.o
 lib-$(CONFIG_FBSET)             += fbset.o
 lib-$(CONFIG_FDFLUSH)           += freeramdisk.o
index 54b95f0c774cccde8208f32fa212fdc3e40a16d2..d78e4ada5a257f54b54165beb667eb8203036924 100644 (file)
@@ -6,6 +6,7 @@
 
 lib-y:=
 
+lib-$(CONFIG_BLKID)                             += get_devname.o
 lib-$(CONFIG_FINDFS)                            += get_devname.o
 lib-$(CONFIG_FEATURE_MOUNT_LABEL)               += get_devname.o
 
index f9a2c905f79d07bd8e85e73a0f53a7e8a6933e6f..83c085650dd4b4ae3b7a7a16e987f119cd6ead19 100644 (file)
@@ -374,24 +374,25 @@ get_spec_by_volume_label(const char *s, int *major, int *minor)
 {
        return get_spec_by_x(VOL, s, major, minor);
 }
+#endif // UNUSED
 
-static int display_uuid_cache(void)
+/* Used by blkid */
+void display_uuid_cache(void)
 {
        struct uuidCache_s *u;
-       size_t i;
 
        uuidcache_init();
-
        u = uuidCache;
        while (u) {
-               printf("%s %s %s\n", u->device, u->label, u->uc_uuid);
+               printf("%s:", u->device);
+               if (u->label[0])
+                       printf(" LABEL=\"%s\"", u->label);
+               if (u->uc_uuid[0])
+                       printf(" UUID=\"%s\"", u->uc_uuid);
+               bb_putchar('\n');
                u = u->next;
        }
-
-       return 0;
 }
-#endif // UNUSED
-
 
 /* Used by mount and findfs */