Bug 365

Summary: findfs blocks on /dev/fd* when trying to open the non-existant floppy device
Product: Busybox Reporter: Ozan Caglayan <ozan>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: busybox-cvs
Priority: P5    
Version: 1.14.x   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: Target:
Build:

Description Ozan Caglayan 2009-05-31 17:41:03 UTC
Hi,

When using busybox versions 1.13.3, 1.13.4, 1.14.1, we're having an
annoying problem during rootfs probing.

When we call

findfs LABEL=X

uuidcache_check_device() tries to open every device returned by
recursive_action("/dev",..).

When the system has no floppy disk drive *but* the controller is enabled
in BIOS,

or

the floppy cable is wrongly attached to the drive:

that open() call introduces a long delay, printing I/O errors on dmesg.

I think that 582dff051459b1394a48dec1f29a29e2442661a0 may be the
problematic commit as it started to scan /dev instead of using
/proc/partitions and /proc/cdroms.

1.14.x contains a commit (28ea4298e380d73203890c0f42de68e9798396d8) for fixing findfs probing missing floppy but it
doesn't seem to fix the error.

I'll workaround the code for skipping the device nodes with major==2 but
an upstream solution seems to be required.

Thanks,
Ozan Caglayan
Comment 1 Denys Vlasenko 2009-06-27 20:09:51 UTC
I disabled scanning of devices with major 2 (floppies). Will be in 1.15.x