Skip to contentSkip to conversation

need help with sg ioctls

DISCUSSION Bernd Schubert 2 participants 4 messages Feb 28, 2008 – Mar 4, 2008 SCSI

lore
Share & tools
lore
#0 lore raw

Hello,

for some reasons the kernel.org qla4xxx driver doesn't work for us. Version 5.01.00.08 seems to work a bit better, but all default sg-ioctl's are not defined.

Adding these manually as in scsi/sg.c works, but IMHO is rather stupid. Is there a sane way to call sg_ioctl()?
I mean it's static and also not exported and the file_operations ioctl method is already taken by the qla4xxx driver.

Do I miss something?

Thanks in advance,
Bernd

Signature · 2 lines
Bernd Schubert
Q-Leap Networks GmbH
#1 lore raw
Quoted 7 lines · Bernd Schubert

Hello,

for some reasons the kernel.org qla4xxx driver doesn't work for us. Version 5.01.00.08 seems to work a bit better, but all default sg-ioctl's are not defined.

Adding these manually as in scsi/sg.c works, but IMHO is rather stupid. Is there a sane way to call sg_ioctl()? I mean it's static and also not exported and the file_operations ioctl method is already taken by the qla4xxx driver.

Do you mean that with the driver from qlogic.com (or one of the distros) you can do sg io to the qla4xxx driver, but with the kernel.org driver you have to go through the sg (scsi/sg.c) driver?

#2 lore raw

Hello Mike,

Quoted 10 lines · Mike Christie
Quoted 8 lines · Bernd Schubert

Hello,
for some reasons the kernel.org qla4xxx driver doesn't work for us. Version 5.01.00.08 seems to work a bit better, but all default sg-ioctl's are not defined.
Adding these manually as in scsi/sg.c works, but IMHO is rather stupid. Is there a sane way to call sg_ioctl()?
I mean it's static and also not exported and the file_operations ioctl method is already taken by the qla4xxx driver.

Quoted 3 lines

Do you mean that with the driver from qlogic.com (or one of the distros) you can do sg io to the qla4xxx driver, but with the kernel.org driver you have to go through the sg (scsi/sg.c) driver?

I'm not sure about the in-kernel driver, as I was told by my boss it doesn't work at all with the overland tape library.
And yes, with the driver from qlogic I *have* to do sg io through this driver. But it only knows its own ioctls, but not the default sg-ioctls. I'm now adding all these ioctls to the driver, but somehow I think it is ridiculous to this when these are already defined in scsi/sg.c.

Thanks,
Bernd

#3 lore raw
In reply to Bernd Schubert
Quoted 6 lines · On Thursday 28 February 2008 17:43:51 Bernd Schubert wrote:

Hello,

for some reasons the kernel.org qla4xxx driver doesn't work for us. Version 5.01.00.08 seems to work a bit better, but all default sg-ioctl's are not defined.

Quoted 6 lines

Adding these manually as in scsi/sg.c works, but IMHO is rather stupid. Is there a sane way to call sg_ioctl()?
I mean it's static and also not exported and the file_operations ioctl method is already taken by the qla4xxx driver.

Do I miss something?

Enventually we found the reason for all the trouble. It was a bug in one of the debian udev scripts (scsi_devfs.sh), which made it to override /dev entries with wrong device major/minors (debian bug Bug#468939).

Sorry for the noise.

Signature · 2 lines
Bernd Schubert
Q-Leap Networks GmbH