US 12,248,380 B2
Faster replay of metadata and data operations using inode number based dependency graph
Rakesh Bhargava M R, Bangalore (IN); and Krishna Murthy Chandraiah setty Narasingarayanapeta, Bangalore (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on May 9, 2022, as Appl. No. 17/739,353.
Application 17/739,353 is a continuation of application No. 15/945,178, filed on Apr. 4, 2018, granted, now 11,327,857.
Prior Publication US 2022/0261320 A1, Aug. 18, 2022
Int. Cl. G06F 11/20 (2006.01); G06F 16/14 (2019.01); G06F 16/16 (2019.01); G06F 16/178 (2019.01); G06F 16/182 (2019.01); G06F 16/901 (2019.01)
CPC G06F 11/2064 (2013.01) [G06F 11/2071 (2013.01); G06F 11/2082 (2013.01); G06F 16/152 (2019.01); G06F 16/166 (2019.01); G06F 16/178 (2019.01); G06F 16/183 (2019.01); G06F 16/9024 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
performing an initial execution of data operations and metadata operations, the data operations and metadata operations each modifying an object, upon a cache, wherein the initial execution is tracked by populating a tracking data structure with identifiers of objects modified by the initial execution of the data operations and the metadata operations;
in response to a replay triggering event occurring, replaying the data operations and the metadata operations from the cache to different regions of storage such that operations that are dependent upon one another are serially executed with respect to each other, wherein for each operation being replayed:
evaluating the tracking structure to determine the presence, based on the initial execution of a prior operation upon the cache, of the identifier of the object to be modified by the operation being replayed;
withholding dispatch of the operation until no identifier of the object to be modified by the operation being replayed based on the initial execution of a prior operation is determined to be present;
dispatching the operation to a target file system for replay upon the storage based upon no identifier of the object to be modified by the operation being replayed based on the initial execution of a prior operation is determined to be present; and
in response to determining that the operation was successfully executed by the target file system, removing the identifiers of the set of the objects from the tracking structure with respect to the operation.