Hi everyone,
I have spent three entire days trying to work out what can be done to
the ide-floppy driver to fix the problems people are having with devfs.
However, as far as I can tell, the driver is working correctly, but
the behaviour is not user-friendly.
The problem is simple. If there is no disk in the drive when the driver
is loaded, then no device nodes are created. The device nodes are
actually created by the grok_partitions call in fs/partitions/check.c.
The grok_partitions will create the disc node and any partitions IF
there is a disk present.
Most people with Zip drives have the entry /dev/hdx4 -> /mnt/zip in
their fstab. The effect is that, if the driver was loaded with no disk
in the drive, no nodes are created, and hence the mount attempt fails
with a "device not found" error. If the driver is compiled as a module,
you can rmmod and insmod with a disk inserted. If the driver is
compiled in, you have to reboot.
I could screw up the grok_partitions to always create a disc entry, but
that won't actually help, unless I also create a part4 entry. This way
madness lies.
Is there a way within devfs to get a mount attempt to cause a
revalidate_disc to be called when the relevant device directory is
scanned? In the ide-floppy driver this would be the
/host/bus/target/lun folder...
This way fixes it with no changes to grok_partitions or the drivers, and
should work for all removeable media.
--
Paul
ide-floppy maintainer for devfs
Email: paul@xxxxxxxxxxxxxxx
Web: http://paulbristow.net
ICQ: 11965223
|