> > open("/dev/sg0", O_RDWR) = -1 ENOENT (No such file or
> > directory)
> >
> > Please, immediately after reboot:
> >
> > ls -l /dev/sg*
>
> [root@oden /]# ls -l /dev/sg*
> lr-xr-xr-x 1 root root 36 Dec 14 2001 /dev/sg0 ->
> scsi/host0/bus0/target0/lun0/generic
> lr-xr-xr-x 1 root root 36 Dec 14 2001 /dev/sg1 ->
> scsi/host0/bus0/target1/lun0/generic
>
Sigh ... what is supposed to happen is
- program tries to open /dev/sg0
- if it is missing (because sg is not yet loaded) devfs generates LOOKUP
event and sends it to devfsd
- devfsd then loads sg module
- sg driver registers /dev/sg0 and devfs returns handle to it to a
program
What happens is
- /dev/sg0 and /dev/sg1 do exist so no LOOOKUP event is ever generated
- LOOKUP is first generated on access to /dev/sg2
- but sg driver registers sg0 and sg1! *Not* sg2 So lookup for /dev/sg2
(and all others) still fails.
- the second time you access it it works.
> These lines?
>
> if [ -d /lib/dev-state ]; then
> cp -af /lib/dev-state/* /dev > /dev/null 2>&1
> fi
Yes, these. THESE LINES ARE EVIL I will continue to repeat it over and
over. Since I removed them I never have any problem. You will need to
configure devfsd to create any "persistent" nodes (I have a single
/dev/modem link) - or please bug Juan and Thierry to release news
devfs/devfsd with much better persistent nodes management.
To Fabrice: Fabrice, we are on cooker not in mandrake NG. We need to fix
problems not provide workaround. If everybody will preload all modules
(or will turn devfs off) it will never be debugged and fixed.
-andrej