Claims
- 1. A method by which a user mode application obtains all physical paths that point to a logical unit on a newly-discovered small computer system interface (SCSI) device, the method comprising:
sending an input output control command to a kernel component regarding future discovery of any SCSI device; awaiting discovery of a new SCSI device; awaiting generation, by the kernel component, of a unique identifier (UID) and at least one set of physical path information mapping thereto for a logical unit on the newly-discovered SCSI device; and receiving, from the kernel component, the UID and the at least one set of physical path information mapping thereto for the logical unit of the newly-discovered SCSI device.
- 2. The method of claim 1, wherein the receiving step receives all of the sets of physical information that are mapped to the UID.
- 3. The method of claim 1, wherein a set of physical path information includes a set of <host, bus, target , LUN> type of addresses that map to the UID.
- 4. The method of claim 1, wherein the generation of the UID occurs as a result of the kernel component doing the following:
querying for one or more logical unit numbers (LUNs) pertaining to the newly-discovered SCSI device, each LUN representing a potential physical path from the host to a SCSI device structure, and calculating a unique identifier (UID) and physical path information for each SCSI device structure based upon response data from the one or more LUNs, respectively.
- 5. The method of claim 4, wherein the calculation of the UID includes:
treating the response data from the one or more LUNs, respectively, as separate instances of independent SCSI devices, each separate instance representing a different SCSI device structure; and generating at least one device file based on the one or more UIDs, respectively, each device file containing UID and path information that differentiates between multiple paths from the host to the SCSI device.
- 6. The method of claim 1, further comprising:
creating a user-mode device-file for the newly-discovered SCSI device that is specific to the kernel component based upon the UID and the at least one set of physical path information mapping thereto.
- 7. The method of claim 6, wherein the creating step includes:
determining, for one or more existing standard device-driver-generated device files, whether there is a match between one or more existing sets of physical path information therein and the at least one set of physical path information received from the kernel component.
- 8. The method of claim 1, further comprising:
creating a UID-based based device file name in a user space for the newly-discovered SCSI device based upon the UID and the at least one set of physical path information mapping thereto.
- 9. A machine-readable medium having code segments embodied thereon execution of which cause a machine to generate a user-mode daemon operable to obtain all physical paths that point to a logical unit on a newly-discovered small computer system interface (SCSI) device, the machine-readable code segments comprising:
a first code segment for sending an input output control command to a kernel component regarding future discovery of any SCSI device; a second code segment for awaiting discovery of a new SCSI device, and subsequently awaiting generation, by the kernel component, of a unique identifier (UID) and at least one set of physical path information mapping thereto for a logical unit on the newly-discovered SCSI device; and a third code segment for receiving, from the kernel component, the UID and the at least one set of physical path information mapping thereto for the logical unit of the newly-discovered SCSI device.
- 10. The machine-readable code segments of claim 9, wherein the first code segment is arranged to receive all of the sets of physical information that are mapped to the UID.
- 11. The machine-readable code segments of claim 9, wherein a set of physical path information includes a set of <host, bus, target , LUN> type of addresses that map to the UID.
- 12. The machine-readable code segments of claim 9, wherein the generation of the UID occurs as a result of the kernel component doing the following:
querying for one or more logical unit numbers (LUNs) pertaining to the newly-discovered SCSI device, each LUN representing a potential physical path from the host to a SCSI device structure, and calculating a unique identifier (UID) and physical path information for each SCSI device structure based upon response data from the one or more LUNs, respectively.
- 13. The machine-readable code segments of claim 12, wherein the calculation of the UID-includes:
treating the response data from the one or more LUNs, respectively, as separate instances of independent SCSI devices, each separate instance representing a different SCSI device structure; and generating at least one device file based on the one or more UIDS, respectively, each device file containing UID and path information that differentiates between multiple paths from the host to the SCSI device.
- 14. The machine-readable code segments of claim 9, further comprising:
a fourth code segment for creating a user-mode device-file for the newly-discovered SCSI device that is specific to the kernel component.
- 15. The machine-readable code segments of claim 14, wherein the fourth code segment is arranged to determine, for one or more existing standard device-driver-generated device files, whether there is a match between one or more existing sets of physical path information therein and the at least one set of physical path information received from the kernel component.
- 16. The machine-readable code segments of claim 9, further comprising:
a fourth code segment for creating a UID-based based device file name in a user space for the newly-discovered SCSI device based upon the UID and the at least one set of physical path information mapping thereto.
- 17. A method by which a kernel component provides to a user mode application all physical paths that point to a logical unit on a newly-discovered small computer system interface (SCSI) device, the method comprising:
receiving an input output control command from user mode application regarding future discovery of any SCSI device; generating, upon discovery of a discovery of a new SCSI device, a unique identifier (UID) and at least one set of physical path information mapping thereto for a logical unit on the newly-discovered SCSI device; and providing, to the user mode application, the UID and the at least one set of physical path information mapping thereto for the logical unit of the newly-discovered SCSI device.
- 18. The method of claim 17, further comprising:
generating a thread responsible for notifying the user mode application with information regarding any newly-discovered SCSI device; and putting to sleep the thread until the UID and the at least one set of physical path information mapping thereto for a newly-discovered SCSI device have been generated.
- 19. The method of claim 18, wherein the providing step includes:
waking the thread once the UID and the at least one set of physical path information mapping thereto for a newly-discovered SCSI device have been generated; wherein the thread causes the UID and the at least one set of physical path information mapping thereto to be provided to the user mode application.
- 20. The method of claim 17, wherein the generating step includes:
querying for one or more logical unit numbers (LUNs) pertaining to the SCSI device, each LUN representing a potential path from the host to the SCSI device; treating response data indicative of multiple LUNs to the SCSI device as separate instances of independent SCSI devices, each separate instance representing a different SCSI device structure; calculating a unique identifier (UID) for each SCSI device structure; and generating at least one device file based on the one or more UIDs, respectively, each device file containing UID and path information that differentiates between multiple paths from the host to the SCSI device.
- 21. The method of claim 17, wherein the path information includes a <host, bus, target, LUN> type of address of a particular path to the SCSI device.
- 22. A machine-readable medium having code segments embodied thereon execution of which cause a machine to generate a kernel component operable to provide to a user mode application all physical paths that point to a logical unit on a newly-discovered small computer system interface (SCSI) device, the machine-readable code segments comprising:
a first code segment for receiving an input output control command from user mode application regarding future discovery of any SCSI device; a second code segment for generating, upon discovery of a discovery of a new SCSI device, a unique identifier (UID) and at least one set of physical path information mapping thereto for a logical unit on the newly-discovered SCSI device; and a third code segment for providing, to the user mode application, the UID and the at least one set of physical path information mapping thereto for the logical unit of the newly-discovered SCSI device.
- 23. The machine-readable code segments of claim 22, further comprising:
a fourth code segment for generating a thread responsible for notifying the user mode application with information regarding any newly-discovered SCSI device; and a fifth code segment for putting to sleep the thread until the UID and the at least one set of physical path information mapping thereto for a newly-discovered SCSI device have been generated.
- 24. The machine-readable code segments of claim 23, wherein:
the fifth code segment is arranged for waking the thread once the UID and the at least one set of physical path information mapping thereto for a newly-discovered SCSI device have been generated; and the fourth code segment is arranged for causing the UID and the at least one set of physical path information mapping thereto to be provided to the user mode application.
- 25. The machine-readable code segments of claim 22, wherein the second code segment includes:
a fourth code segment for querying for one or more logical unit numbers (LUNs) pertaining to the SCSI device, each LUN representing a potential path from the host to the SCSI device; a fifth code segment for treating response data indicative of multiple LUNs to the SCSI device as separate instances of independent SCSI devices, each separate instance representing a different SCSI device structure; a sixth code segment for calculating a unique identifier (UID) for each SCSI device structure; and a seventh code segment for generating at least one device file based on the one or more UIDs, respectively, each device file containing UID and path information that differentiates between multiple paths from the host to the SCSI device.
- 26. The machine-readable code segments of claim 22, wherein the path information includes a <host, bus, target, LUN> type of address of a particular path to the SCSI device.
- 27. An apparatus by which a user mode application obtains all physical paths that point to a logical unit on a newly-discovered small computer system interface (SCSI) device, the apparatus comprising:
means for sending an input output control command to a kernel component regarding future discovery of any SCSI device; means for awaiting discovery of a new SCSI device; means for awaiting generation, by the kernel component, of a unique identifier (UID) and at least one set of physical path information mapping thereto for a logical unit on the newly-discovered SCSI device; and means for receiving, from the kernel component, the UID and the at least one set of physical path information mapping thereto for the logical unit of the newly-discovered SCSI device.
- 28. An apparatus by which a kernel component provides to a user mode application all physical paths that point to a logical unit on a newly-discovered small computer system interface (SCSI) device, the apparatus comprising:
means for receiving an input output control command from user mode application regarding future discovery of any SCSI device; means for generating, upon discovery of a discovery of a new SCSI device, a unique identifier (UID) and at least one set of physical path information mapping thereto for a logical unit on the newly-discovered SCSI device; and means for providing, to the user mode application, the UID and the at least one set of physical path information mapping thereto for the logical unit of the newly-discovered SCSI device.
Parent Case Info
[0001] This application is a continuation of copending U.S. patent application having Ser. No. 10/260,436 and Attorney Docket No. 200206689-1, filed Oct. 1, 2002, for which priority is claimed under 35 U.S.C. §120, and the disclosure of which is incorporated herein in its entirety.
Continuations (1)
|
Number |
Date |
Country |
Parent |
10260436 |
Oct 2002 |
US |
Child |
10865881 |
Jun 2004 |
US |