[1798] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

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

home help back first fref pref prev next nref lref last post