[1798] in linux-scsi channel archive
Re: kerneld (opps... try again)
daemon@ATHENA.MIT.EDU (campbell@tirian.che.curtin.edu.au)
Fri May 2 22:36:57 1997
From: campbell@tirian.che.curtin.edu.au
To: Richard Henderson <richard@stommel.tamu.edu>
Date: Sat, 3 May 1997 10:34:52 +0000
Cc: linux-scsi@vger.rutgers.edu
> > Not at present. The scsi subsystem will only probe for a host adaptor
> > if there are none present. Furthermore, it is sd.o that is associated
> > with block-major-8, so there's not really any place to hook on.
> >
> > Perhaps one of the scsi folk can comment on the advisability of probing
> > for additional host adaptors if a device beyond the number currently
> > detected is opened. And if it is not evil, whereabouts would be a good
> > place to hook on.
After re-reading this question again, I think your trying to ask how
should sd.c be modified to send a message to kerneld.
After poking around in sd.c I found that a good spot would be at the
start of sd_open() as the first statement is basically "if minor not
found return with error".
My question is there a clean was of:
1) sd signal kerneld "try loading scsi hosts"
2) sd sleeps
3) kerneld wakes up sd when "I'm through loading scsi driver modules"
4) sd looks at the minor again and then continues....
Obvious problems:
1) Is there any mechanism (from kernel space) for knowing if kerneld is active?
2) Can kerneld signal the kernel (it must somehow, howelse does it
work currently??)
3) Is loading low level drivers OK in the middle of a call to
sd_open() ?
My answer here would be yes since sd hasn't done anything yet to
the structures. Would someone more knowledge please confirm.
David Campbell