IP Library Granted Patent US 10,797,949
Granted Patent B2
US 10,797,949 · App. 16/188,389 · Granted Oct 6, 2020

I/O recovery for storage side cable movement in fabric-assigned world-wide port name fabrics

Inventors: Sanket Rathi (Hyderabad, IN); Kiran K. Anumalasetty (Bangalore, IN); Rajaboina Yadagiri (Hyderabad, IN)
Assignee: International Business Machines Corporation
H04L41/0816H04L41/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,797,949
App. No.
16/188,389
Granted
Oct 6, 2020
Kind
B2
Abstract

I/O recovery for storage side cable movement in fabric-assigned WWPN fabrics including receiving a state change notification indicating a change to a first fabric-assigned world-wide port name (WWPN) on a fibre channel switch; pausing I/O activity for active logical unit numbers (LUNs) connected to the fibre channel switch via the first fabric-assigned WWPN; obtaining a list of potential fabric-assigned WWPNs; requesting, via the fibre channel switch, a reported list of LUNs from each fabric-assigned WWPN in the list of potential fabric-assigned WWPNs; comparing each reported list of LUNs to the paused active LUNs to determine a second fabric-assigned WWPN from the list of potential fabric-assigned WWPNs to which the paused active LUNs are connected; updating, with the second fabric-assigned WWPN, connection information for the paused active LUNs; and resuming I/O activity for the paused active LUNs using the updated connection information.

Claims (84)

1. A method of I/O recovery for storage side cable movement in fabric-assigned world-wide port name (WWPN) fabrics, the method comprising:

receiving an indication that active logical unit numbers (LUNs) have been disconnected from a fibre channel switch port assigned with a first fabric-assigned WWPN;

pausing I/O activity for the active LUNs;

identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected;

determining that the paused active LUNs are connected to the second fabric-assigned WWPN;

updating, with the second fabric-assigned WWPN, connection information for the paused active LUNs; and

resuming I/O activity for the paused active LUNs using the updated connection information.

2. The method of claim 1 , wherein identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected comprises:

receiving a second indication that the first fabric-assigned WWPN has not rejoined the fibre channel switch in response to sending a discovery command to the fibre channel switch;

obtaining a list of currently connected fabric-assigned WWPNs from the fibre channel switch; and

generating a list of potential fabric-assigned WWPNs by filtering the list of currently connected fabric-assigned WWPNs based on WWPNs newly added to the fibre channel switch.

3. The method of claim 1 ,

wherein the received indication further indicates a change to a third fabric-assigned WWPN on the fibre channel switch,

wherein pausing I/O activity for the active LUNs comprises pausing I/O activity for active LUNs connected to the fibre channel switch via the third fabric-assigned WWPN, and

wherein identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected comprises:

receiving a second indication that the first fabric-assigned WWPN and the third fabric-assigned WWPN have rejoined the fibre channel switch in response to sending a discovery command to the fibre channel switch;

generating a list of potential fabric-assigned WWPNs using the first fabric-assigned WWPN and the third fabric-assigned WWPN.

4. The method of claim 3 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN comprises:

retrieving, via the fibre channel switch, a world-wide node name (WWNN) for the first fabric-assigned WWPN and the third fabric-assigned WWPN;

determining that the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN do not match connection information for the first fabric-assigned WWPN and the third fabric-assigned WWPN; and

in response to determining that the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN do not match connection information for the first fabric-assigned WWPN and the third fabric-assigned WWPN, requesting a reported list of LUNs from the first fabric-assigned WWPN and the third fabric-assigned WWPN.

5. The method of claim 4 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN further comprises:

filtering the paused active LUNs using the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN;

matching at least one LUN from the filtered paused active LUNs to at least one LUN from one of the reported lists of LUNs; and

determining, based on the matched active LUNs, the second fabric-assigned WWPN and a fourth fabric-assigned WWPN to which the paused active LUNs are connected.

6. The method of claim 5 , wherein updating, with the second fabric-assigned WWPN, the connection information for the paused active LUNs comprises updating, with the fourth fabric-assigned WWPN, the connection information for the paused active LUNs.

7. The method of claim 1 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN comprises:

matching a LUN from a reported list of LUNs obtained via the fibre channel switch to a LUN from the paused active LUNs; and

determining that the matched LUN from the reported list of LUNs is connected to the fibre channel switch via the second WWPN.

8. An apparatus for I/O recovery for storage side cable movement in fabric-assigned world-wide port name (WWPN) fabrics, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving an indication that active logical unit numbers (LUNs) have been disconnected from a fibre channel switch port assigned with a first fabric-assigned WWPN.

pausing I/O activity for active LUNs;

identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected;

determining that the paused active LUNs are connected to the second fabric-assigned WWPN;

updating, with the second fabric-assigned WWPN, connection information for the paused active LUNs; and

resuming I/O activity for the paused active LUNs using the updated connection information.

9. The apparatus of claim 8 , wherein identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected comprises:

receiving a second indication that the first fabric-assigned WWPN has not rejoined the fibre channel switch in response to sending a discovery command to the fibre channel switch;

obtaining a list of currently connected fabric-assigned WWPNs from the fibre channel switch; and

generating a list of potential fabric-assigned WWPNs by filtering the list of currently connected fabric-assigned WWPNs based on WWPNs newly added to the fibre channel switch.

10. The apparatus of claim 8 ,

wherein the received indication further indicates a change to a third fabric-assigned WWPN on the fibre channel switch,

wherein pausing I/O activity for the active LUNs comprises pausing I/O activity for active LUNs connected to the fibre channel switch via the third fabric-assigned WWPN, and

wherein identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected comprises:

receiving a second indication that the first fabric-assigned WWPN and the third fabric-assigned WWPN have rejoined the fibre channel switch in response to sending a discovery command to the fibre channel switch;

generating a list of potential fabric-assigned WWPNs using the first fabric-assigned WWPN and the third fabric-assigned WWPN.

11. The apparatus of claim 10 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN comprises:

retrieving, via the fibre channel switch, a world-wide node name (WWNN) for the first fabric-assigned WWPN and the third fabric-assigned WWPN;

determining that the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN do not match connection information for the first fabric-assigned WWPN and the third fabric-assigned WWPN; and

in response to determining that the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN do not match connection information for the first fabric-assigned WWPN and the third fabric-assigned WWPN, requesting a reported list of LUNs from the first fabric-assigned WWPN and the third fabric-assigned WWPN.

12. The apparatus of claim 11 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN further comprises:

filtering the paused active LUNs using the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN;

matching at least one LUN from the filtered paused active LUNs to at least one LUN from one of the reported lists of LUNs; and

determining, based on the matched active LUNs, the second fabric-assigned WWPN and a fourth fabric-assigned WWPN to which the paused active LUNs are connected.

13. The apparatus of claim 12 , wherein updating, with the second fabric-assigned WWPN, the connection information for the paused active LUNs comprises updating, with the fourth fabric-assigned WWPN, the connection information for the paused active LUNs.

14. The apparatus of claim 8 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN comprises:

matching a LUN from a reported list of LUNs obtained via the fibre channel switch to a LUN from the paused active LUNs; and

determining that the matched LUN from the reported list of LUNs is connected to the fibre channel switch via the second WWPN.

15. A computer program product for I/O recovery for storage side cable movement in fabric-assigned world-wide port name (WWPN) fabrics, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

receiving an indication that active logical unit numbers (LUNs) have been disconnected from a fibre channel switch port assigned with a first fabric-assigned WWPN;

pausing I/O activity for the active LUNs;

identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected;

determining that the paused active LUNs are connected to the second fabric-assigned WWPN;

updating, with the second fabric-assigned WWPN, connection information for the paused active LUNs; and

resuming I/O activity for the paused active LUNs using the updated connection information.

16. The computer program product of claim 15 , wherein identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected comprises:

receiving a second indication that the first fabric-assigned WWPN has not rejoined the fibre channel switch in response to sending a discovery command to the fibre channel switch;

obtaining a list of currently connected fabric-assigned WWPNs from the fibre channel switch; and

generating a list of potential fabric-assigned WWPNs by filtering the list of currently connected fabric-assigned WWPNs based on WWPNs newly added to the fibre channel switch.

17. The computer program product of claim 15 ,

wherein the received indication further indicates a change to a third fabric-assigned WWPN on the fibre channel switch,

wherein pausing I/O activity for the active LUNs comprises pausing I/O activity for active LUNs connected to the fibre channel switch via the third fabric-assigned WWPN, and

wherein identifying a second fabric-assigned WWPN assigned to a port to which the disconnected LUNs are potentially reconnected comprises:

receiving a second indication that the first fabric-assigned WWPN and the third fabric-assigned WWPN have rejoined the fibre channel switch in response to sending a discovery command to the fibre channel switch;

generating a list of potential fabric-assigned WWPNs using the first fabric-assigned WWPN and the third fabric-assigned WWPN.

18. The computer program product of claim 17 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN comprises:

retrieving, via the fibre channel switch, a world-wide node name (WWNN) for the first fabric-assigned WWPN and the third fabric-assigned WWPN;

determining that the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN do not match connection information for the first fabric-assigned WWPN and the third fabric-assigned WWPN; and

in response to determining that the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN do not match connection information for the first fabric-assigned WWPN and the third fabric-assigned WWPN, requesting a reported list of LUNs from the first fabric-assigned WWPN and the third fabric-assigned WWPN.

19. The computer program product of claim 18 , wherein determining that the paused active LUNs are connected to the second fabric-assigned WWPN further comprises:

filtering the paused active LUNs using the retrieved WWNNs for the first fabric-assigned WWPN and the third fabric-assigned WWPN;

matching at least one LUN from the filtered paused active LUNs to at least one LUN from one of the reported lists of LUNs; and

determining, based on the matched active LUNs, the second fabric-assigned WWPN and a fourth fabric-assigned WWPN to which the paused active LUNs are connected.

20. The computer program product of claim 19 , wherein updating, with the second fabric-assigned WWPN, the connection information for the paused active LUNs comprises updating, with the fourth fabric-assigned WWPN, the connection information for the paused active LUNs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2018
From: RATHI, SANKET; ANUMALASETTY, KIRAN K.; YADAGIRI, RAJABOINA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047481/0519 →
Continuity (1)
Related Publication 20200153689A1 · May 14, 2020