US 12,321,627 B2
Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations
Krishna Murthy Chandraiah Setty Narasingarayanapeta, Bangalore (IN); and Akhil Kaushik, Bangalore Karnataka (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp, Inc., San Jose, CA (US)
Filed on Jan. 26, 2024, as Appl. No. 18/424,244.
Application 18/424,244 is a continuation of application No. 17/861,768, filed on Jul. 11, 2022, granted, now 11,907,562.
Prior Publication US 2024/0168671 A1, May 23, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0647 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer implemented method performed by one or more processing resources of a storage node, the method comprising:
temporarily disallowing input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster has a connection loss or failure;
initiating a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the connection loss or failure with the resynchronization including initiating asynchronous inflight tracking and replay for reconciliation of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster and performing a dependency check to determine any dependencies between Ops for any I/O operations being replayed from the primary storage cluster; and
allowing new I/O operations to be handled with the storage object of the primary storage cluster just after asynchronous inflight tracking and replay processes pendings Ops at the primary storage cluster without waiting for completion of the asynchronous inflight tracking and replay including receiving responses from the secondary storage cluster.