Method and arrangement for communicating with SCSI devices
First Claim
1. A method, for use in a system having a host and one or more small computer system interface (SCSI) devices, the method enabling a user application accessing the system to communicate with one or more of the SCSI devices, comprising the steps of:
- querying a kernel component in the system for all SCSI devices in the system that are known to the kernel component;
preparing a buffer of virtual handles at the kernel component in response to the querying step, each virtual handle representing a known SCSI device;
forwarding the buffer to the user application;
issuing a command data structure to the kernel component, the command data structure containing the virtual handles and command information;
comparing, at the kernel component, each virtual handle to a list of SCSI device data structures of said SCSI devices known to the kernel component, and transporting the command data structure to SCSI devices, when there is a match between a virtual handle and a corresponding device data structure of a SCSI device.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and arrangement, for use in a system having a host and one or more small computer system interface (SCSI) devices, are described for enabling a user application accessing the system to communicate with one or more of the SCSI devices. The method and arrangement serve to overcome a device node limitation observed in standard Linux, which limits the number of devices a user application may communicate with to 128 SCSI disk (sd) devices or 256 SCSI generic (sg) devices. The method and arrangement provide a pass through capability by allowing the user application to directly talk to any SCSI device by using virtual handles, thereby overcoming the device node limitation observed in standard Linux.
19 Citations
21 Claims
-
1. A method, for use in a system having a host and one or more small computer system interface (SCSI) devices, the method enabling a user application accessing the system to communicate with one or more of the SCSI devices, comprising the steps of:
-
querying a kernel component in the system for all SCSI devices in the system that are known to the kernel component;
preparing a buffer of virtual handles at the kernel component in response to the querying step, each virtual handle representing a known SCSI device;
forwarding the buffer to the user application;
issuing a command data structure to the kernel component, the command data structure containing the virtual handles and command information;
comparing, at the kernel component, each virtual handle to a list of SCSI device data structures of said SCSI devices known to the kernel component, and transporting the command data structure to SCSI devices, when there is a match between a virtual handle and a corresponding device data structure of a SCSI device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An arrangement in a system having a host and one or more small computer system interface (SCSI) devices, the arrangement enabling a user application accessing the system to communicate with one or more of the SCSI devices, comprising:
-
means for querying a kernel component in the system for all SCSI devices in the system that are known to the kernel component;
means for preparing a buffer of virtual handles at the kernel component in response to the querying step, each virtual handle representing a known SCSI device;
means for forwarding the buffer to the user application;
means for issuing a command data structure to the kernel component, the command data structure containing the virtual handles and command information;
means for comparing, at the kernel component, each virtual handle to a list of SCSI device data structures of said SCSI devices known to the kernel component, and means for transporting the command data structure to SCSI devices, when there is a match between a virtual handle and a corresponding device data structure of a SCSI device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product, for use in a system having a bus, a host connected to the bus, and one or more small computer system interface (SCSI) devices connected to the bus, the computer program product comprising a computer-readable medium having computer program logic stored thereon for enabling a processor of the product to allow a user application accessing the system to communicate with one or more of the SCSI devices, the computer program logic causing the processor to perform the steps of:
-
querying a kernel component in the system for all SCSI devices in the system that are known to the kernel component;
preparing a buffer of virtual handles at the kernel component in response to the querying step, each virtual handle representing a known SCSI device;
forwarding the buffer to the user application;
issuing a command data structure to the kernel component, the command data structure containing the virtual handles and command information;
comparing, at the kernel component, each virtual handle to a list of SCSI device data structures of said SCSI devices known to the kernel component, and transporting the command data structure SCSI devices, where there is a match between a virtual handle and a corresponding device data structure of a SCSI device, so as to establish a communication path between the user application and the SCSI devices.
-
Specification