Re: HP (Compaq) Smart Array 5xxx controller SCSI driver



CC'ed linux-scsi.

On Wed, 23 Jul 2008 10:50:05 -0500
scameron@xxxxxxxxxxxxxxxxxxxxxxx wrote:


Fujita Tomonori wrote:
I created symbolic links (neat udev rules can do automatically).

clover:/home/fujita# ls -l /dev/cciss/
total 0
lrwxrwxrwx 1 root root 8 2008-07-23 21:38 c0d0 -> /dev/sde
lrwxrwxrwx 1 root root 9 2008-07-23 21:39 c0d0p1 -> /dev/sde1
lrwxrwxrwx 1 root root 9 2008-07-23 21:39 c0d0p2 -> /dev/sde2
lrwxrwxrwx 1 root root 8 2008-07-23 21:38 c0d1 -> /dev/sdf
lrwxrwxrwx 1 root root 8 2008-07-23 21:38 c0d2 -> /dev/sdg
lrwxrwxrwx 1 root root 8 2008-07-23 21:38 c0d3 -> /dev/sdh

The symbolic links enable users to mount the device as before.

hpacucli seems to work (I didn't try all the commands but the point is
that we can provide the ioctl compatibility):

That's pretty neat, I'm surprised that works. Obviously
you've got the needed ioctls already done.

I've not finished ioctls but my driver supports it partly.


I bet if you deleted all the logical drives it wouldn't work
anymore (because /dev/cciss/c0d0 -> /dev/sde would disappear.)

Yeah, right. As you know, cciss doesn't have a global character device
for it so the tools don't work if no logical device exists.


A way around that would be to present a device to the linux
kernel with 8-byte LUN address of all zeroes mapped to some
bus/target/lun. When the SCSI scan happens and the inquiry
is sent down to this address, the RAID controller will respond.
Then let sg bind to that, and get ACU to use the sg device.
(I hope it's clear what I'm saying.)

I don't know if the udev rules can be made smart enough to
point /dev/cciss/c0d0 at the sg device if there are no

udev rules can execute external programs. So you can make udev rules
do whatever you want.


logical drives, and at the first logical drive if there
is at least one. In the longer term, ACU would have to
be changed to use that sg device always rather than using
/dev/cciss/c0d0.

In the cciss driver, we always present /dev/cciss/c0d0
whether there are any logical drives or not for this reason,
a rather clunky solution.

Ideally, I think that the best solution is exporting a RAID device so
that the management tools can access to hardware via it (as other SCSI
drivers do). But we need the compatibility here. So I'm not sure. I'll
follow Mike's decision.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Accessing Ndis miniport from user mode application-one more thing
    ... IOCTLs, so I believe we're in agreement there. ... send control requests to your driver (and I believe one normally has a good ... "Please make sure that UDP port XYZ is available only to privileged users", ...
    (microsoft.public.development.device.drivers)
  • Re: CE6.0 Exposing Driver Interfaces to an Application
    ... complicated mechanism is to create a simple stream driver and expose your ... for *kernel* ioctls, not device driver ioctls. ... components can call device driver ioctls though. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: RFC: ipath ioctls and their replacements
    ... > objected to the number of ioctls we had. ... > driver that isn't very useful. ... Again this is a generic problem, and the generic interfaces are broken ... If the Infiniband stack is too ugly to use or it is missing features ...
    (Linux-Kernel)
  • RE: Digi Neo 8: linux-2.6.12_r2 jsm driver
    ... Oh, keep in mind, the ioctls are not new. ... Subject: Digi Neo 8: linux-2.6.12_r2 jsm driver ... as the extended features added special ioctls ... , then this interface needs ...
    (Linux-Kernel)