summaryrefslogtreecommitdiff
path: root/util-linux/volume_id/get_devname.c
diff options
context:
space:
mode:
authorNatanael Copa2009-09-20 04:28:22 +0200
committerDenys Vlasenko2009-09-20 04:28:22 +0200
commit9aff29997ed22932f78aa8d8c7c2412e9d3f49e5 (patch)
tree8df24e36d81c3f4f6d1cf6b9892341f96b5ecb92 /util-linux/volume_id/get_devname.c
parent2bf6634ef46b5360e6381e61b27415e52a1cd7c7 (diff)
downloadbusybox-9aff29997ed22932f78aa8d8c7c2412e9d3f49e5.zip
busybox-9aff29997ed22932f78aa8d8c7c2412e9d3f49e5.tar.gz
swaponoff: add uuid/label support. By Natanael Copa
function old new delta swap_enable_disable 130 150 +20 resolve_mount_spec 76 96 +20 mount_main 1152 1154 +2 findfs_main 125 80 -45 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/1 up/down: 42/-45) Total: -3 bytes Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'util-linux/volume_id/get_devname.c')
-rw-r--r--util-linux/volume_id/get_devname.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c
index 0686a07..9b5283f 100644
--- a/util-linux/volume_id/get_devname.c
+++ b/util-linux/volume_id/get_devname.c
@@ -260,3 +260,20 @@ char *get_devname_from_uuid(const char *spec)
}
return NULL;
}
+
+int resolve_mount_spec(char **fsname)
+{
+ char *tmp = *fsname;
+
+ if (strncmp(*fsname, "UUID=", 5) == 0)
+ tmp = get_devname_from_uuid(*fsname + 5);
+ else if (strncmp(*fsname, "LABEL=", 6) == 0)
+ tmp = get_devname_from_label(*fsname + 6);
+
+ if (tmp == *fsname)
+ return 0; /* no UUID= or LABEL= prefix found */
+
+ if (tmp)
+ *fsname = tmp;
+ return 1;
+}