aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util-linux/volume_id/get_devname.c7
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 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;