From 4fc5ec56f912b858ee7d64a2af2cbd24f2111b34 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 27 Jun 2009 21:58:25 +0200 Subject: device matching against UUIDs: do not try floppies function old new delta uuidcache_check_device 255 292 +37 Signed-off-by: Denys Vlasenko --- util-linux/volume_id/get_devname.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'util-linux/volume_id') diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c index ac69f78c4..181b6db7e 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; -- cgit v1.2.3