US2016217175A1PendingUtilityA1

Techniques for asynchronous snapshot invalidation

52
Assignee: NETAPP INCPriority: Jan 23, 2015Filed: Aug 31, 2015Published: Jul 28, 2016
Est. expiryJan 23, 2035(~8.5 yrs left)· nominal 20-yr term from priority
G06F 17/30371G06F 17/30174G06F 17/30132G06F 16/1827
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Asynchronous snapshot invalidation techniques are described. According to various such techniques, an enhanced file handle structure may be defined that includes a snapshot generation ID that is to comprise a value that singularly identifies a snapshot performed at a particular point in time. In some embodiments, when a snapshot ID assigned to that snapshot is reused at a subsequent point in time, a different snapshot generation ID may be assigned to that subsequent snapshot. With respect to an in-core cache, the differing snapshot generation IDs may eliminate unacceptable ambiguity regarding respective file information sets corresponding to the initial and subsequent snapshots sharing the same snapshot ID. As a result, obsolete file information sets may be cleared from the in-core cache asynchronously, enabling improved performance. The embodiments are not limited in this context.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method, comprising:
 loading, by a storage server, a first snapshot of a file system;   storing a snapshot generation identifier (ID) of the first snapshot in a snapshot attribute set associated with a snapshot ID for the first snapshot; and   storing a first file information set in an in-core cache, the first file information set associated with the first snapshot, the first file information set to specify a first file handle associated with a file, the first file handle to comprise a file ID for the file, the snapshot ID for the first snapshot, and the snapshot generation ID of the first snapshot.   
     
     
         2 . The method of  claim 1 , comprising:
 loading the first file information set from the in-core cache;   identifying the snapshot attribute set associated with the snapshot ID comprised in the first file handle; and   validating the first file information set by comparing the snapshot generation ID comprised in the first file handle with a snapshot generation ID comprised in the identified snapshot attribute set.   
     
     
         3 . The method of  claim 2 , comprising determining that the first file information set is stale in response to a determination that the snapshot generation ID comprised in the first file handle does not match the snapshot generation ID comprised in the identified snapshot attribute set. 
     
     
         4 . The method of  claim 3 , comprising asynchronously clearing the first file information set from the in-core cache in response to the determination that the first file information set is stale. 
     
     
         5 . The method of  claim 2 , comprising determining that the first file information set is not stale in response to a determination that the snapshot generation ID comprised in the first file handle matches the snapshot generation ID comprised in the identified snapshot attribute set. 
     
     
         6 . The method of  claim 1 , comprising storing a second file information set in the in-core cache, the second file information set associated with a second snapshot of the file system, the second file information set to specify a second file handle associated with the file, the second file handle to comprise the file ID and snapshot ID comprised in the first file handle and a snapshot generation ID differing from the snapshot generation ID comprised in the first file handle. 
     
     
         7 . The method of  claim 6 , comprising maintaining the first file information set in the in-core cache while storing the second file information set in the in-core cache. 
     
     
         8 . The method of  claim 1 , the snapshot generation ID to comprise an unsigned 32-bit number. 
     
     
         9 . The method of  claim 1 , the snapshot generation ID to comprise a monotonically-increasing parameter. 
     
     
         10 . A non-transitory machine-readable medium having stored thereon instructions for performing a file management method, comprising machine-executable code which when executed by at least one machine, causes the machine to:
 load a first snapshot of a file system;   store a snapshot generation identifier (ID) of the first snapshot in a snapshot attribute set associated with a snapshot ID for the first snapshot; and   store a first file information set in an in-core cache, the first file information set associated with the first snapshot, the first file information set to specify a first file handle associated with a file, the first file handle to comprise a file ID for the file, the snapshot ID for the first snapshot, and the snapshot generation ID of the first snapshot.   
     
     
         11 . The non-transitory machine-readable medium of  claim 10 , comprising machine-executable code which when executed by the at least one machine, causes the machine to:
 load the first file information set from the in-core cache;   identify the snapshot attribute set associated with the snapshot ID comprised in the first file handle; and   validate the first file information set by comparing the snapshot generation ID comprised in the first file handle with a snapshot generation ID comprised in the identified snapshot attribute set.   
     
     
         12 . The non-transitory machine-readable medium of  claim 11 , comprising machine-executable code which when executed by the at least one machine, causes the machine to:
 determine that the first file information set is stale in response to a determination that the snapshot generation ID comprised in the first file handle does not match the snapshot generation ID comprised in the identified snapshot attribute set; and   asynchronously clear the first file information set from the in-core cache in response to the determination that the first file information set is stale.   
     
     
         13 . The non-transitory machine-readable medium of  claim 11 , comprising machine-executable code which when executed by the at least one machine, causes the machine to determine that the first file information set is not stale in response to a determination that the snapshot generation ID comprised in the first file handle matches the snapshot generation ID comprised in the identified snapshot attribute set. 
     
     
         14 . The non-transitory machine-readable medium of  claim 10 , comprising machine-executable code which when executed by the at least one machine, causes the machine to:
 store a second file information set in the in-core cache, the second file information set associated with a second snapshot of the file system, the second file information set to specify a second file handle associated with the file, the second file handle to comprise the file ID and snapshot ID comprised in the first file handle and a snapshot generation ID differing from the snapshot generation ID comprised in the first file handle; and   maintain the first file information set in the in-core cache while storing the second file information set in the in-core cache.   
     
     
         15 . A computing device, comprising:
 a memory containing a machine-readable medium comprising machine-executable code, having stored thereon instructions for performing a file management method; and   a processor coupled to the memory, the processor configured to execute the machine-executable code to cause the processor to:
 load a first snapshot of a file system; 
 store a snapshot generation identifier (ID) of the first snapshot in a snapshot attribute set associated with a snapshot ID for the first snapshot; and 
 store a first file information set in an in-core cache, the first file information set associated with the first snapshot, the first file information set to specify a first file handle associated with a file, the first file handle to comprise a file ID for the file, the snapshot ID for the first snapshot, and the snapshot generation ID of the first snapshot. 
   
     
     
         16 . The computing device of  claim 15 , the processor configured to execute the machine-executable code to cause the processor to:
 load the first file information set from the in-core cache;   identify the snapshot attribute set associated with the snapshot ID comprised in the first file handle; and   validate the first file information set by comparing the snapshot generation ID comprised in the first file handle with a snapshot generation ID comprised in the identified snapshot attribute set.   
     
     
         17 . The computing device of  claim 16 , the processor configured to execute the machine-executable code to cause the processor to:
 determine that the first file information set is stale in response to a determination that the snapshot generation ID comprised in the first file handle does not match the snapshot generation ID comprised in the identified snapshot attribute set; and   asynchronously clear the first file information set from the in-core cache in response to the determination that the first file information set is stale.   
     
     
         18 . The computing device of  claim 16 , the processor configured to execute the machine-executable code to cause the processor to determine that the first file information set is not stale in response to a determination that the snapshot generation ID comprised in the first file handle matches the snapshot generation ID comprised in the identified snapshot attribute set. 
     
     
         19 . The computing device of  claim 15 , the processor configured to execute the machine-executable code to cause the processor to assign the snapshot ID for the first snapshot to a second snapshot of the file system while maintaining the first file information set in the in-core cache. 
     
     
         20 . A system, comprising:
 the computing device of  claim 15 ; and   at least one storage device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.