So this seems to be mostly a VMWare bug that even if you configure without a floppy drive, it still emulates a floppy controller without any drive attached. Unfortunately there is very little that we can do in userspace to work around this; floppies come from an age where detailled automatic hardware detection was still not existant :( As soon as you try to probe a floppy in this case, you will get 30 second uninterruptible kernel hangs, so we must not try to touch floppies unless the user explicitly tries to mount one.
But even in the log without a floppy drive, the kernel detects one:
[ 2.266143] Floppy drive(s): fd0 is 1.44M
There are some differences between the "dmesg without" (-) and "dmesg with" (+) logs:
-end_request: I/O error, dev fd0, sector 0
+EXT3-fs (fd0): error: can't find ext3 filesystem on dev fd0.
+EXT4-fs (fd0): VFS: Can't find ext4 filesystem
+FAT-fs (fd0): bogus number of reserved sectors
+FAT-fs (fd0): Can't find a valid FAT filesystem
Which mostly confirm that the floppy isn't working properly in the first case.
udev sees *exactly* the same devices in both cases:
$ diff -u <(grep -v USEC_INITIALIZED export_without.txt) <(grep -v USEC_INITIALIZED export_with.txt)
is empty.
P: /devices/ platform/ floppy. 0/block/ fd0 /devices/ platform/ floppy. 0/block/ fd0 PRESENTATION_ NOPOLICY= 1 D=27196738
N: fd0
E: DEVNAME=/dev/fd0
E: DEVPATH=
E: DEVTYPE=disk
E: ID_DRIVE_FLOPPY=1
E: MAJOR=2
E: MINOR=0
E: SUBSYSTEM=block
E: UDEV_LOG=3
E: UDISKS_
E: USEC_INITIALIZE
So this seems to be mostly a VMWare bug that even if you configure without a floppy drive, it still emulates a floppy controller without any drive attached. Unfortunately there is very little that we can do in userspace to work around this; floppies come from an age where detailled automatic hardware detection was still not existant :( As soon as you try to probe a floppy in this case, you will get 30 second uninterruptible kernel hangs, so we must not try to touch floppies unless the user explicitly tries to mount one.