[git commit] device matching against UUIDs: do not try floppies

Denys Vlasenko vda.linux at googlemail.com
Sat Jun 27 19:58:25 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=4fc5ec56f912b858ee7d64a2af2cbd24f2111b34
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master


function                                             old     new   delta
uuidcache_check_device                               255     292     +37

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 util-linux/volume_id/get_devname.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c
index ac69f78..181b6db 100644
--- a/util-linux/volume_id/get_devname.c
+++ b/util-linux/volume_id/get_devname.c
@@ -86,9 +86,16 @@ uuidcache_check_device(const char *device,
 	char *label = label;
 	int fd;
 
+	/* note: this check rejects links to devices, among other nodes */
 	if (!S_ISBLK(statbuf->st_mode))
 		return TRUE;
 
+	/* Users report that mucking with floppies (especially non-present
+	 * ones) is significant PITA. This is a horribly dirty hack,
+	 * but it is very useful in real world. */
+	if (major(statbuf->st_rdev) == 2)
+		return TRUE;
+
 	fd = open(device, O_RDONLY);
 	if (fd < 0)
 		return TRUE;
-- 
1.6.0.6


More information about the busybox-cvs mailing list