System and method for persistently storing lock state information
First Claim
Patent Images
1. A method for persistently storing lock state information associated with a file system comprising:
- receiving, at any node in a cluster, an operation configured to modify lock state information of the file system, the lock state information associated with at least one lock enabled by a client, the lock preventing modification of a file by another client in the cluster while the lock is in place;
generating an entry within a non-volatile log, the entry representative of a modified lock state information;
storing the modified lock state information within the non-volatile log entry, the non-volatile log stored within a non-volatile random access memory; and
updating, during a consistency point associated with the file system, a lock file stored on a persistent storage device with the modified lock state information of the non-volatile log entry, the persistent storage of the modified lock state information eliminating the need to reestablish the lock on a file after an error condition has occurred, wherein updating the lock file with the modified lock state information of the non-volatile log entry further comprises concatenating, on an owner basis, one or more non-volatile log entries to generate new entries for the lock file.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method persistently stores lock state information associated with a file system within a storage system. Received operations that modify lock state information are stored in a non-volatile log (NVLog) within a non-volatile random access memory (NVRAM) of the storage system. During a consistency point (CP), entries from the NVLog are committed to a lock file. In the event of an error condition, lock state information may be recovered from the lock file, thereby enabling rapid reconstruction of the lock state prior to the error condition.
-
Citations
20 Claims
-
1. A method for persistently storing lock state information associated with a file system comprising:
-
receiving, at any node in a cluster, an operation configured to modify lock state information of the file system, the lock state information associated with at least one lock enabled by a client, the lock preventing modification of a file by another client in the cluster while the lock is in place; generating an entry within a non-volatile log, the entry representative of a modified lock state information; storing the modified lock state information within the non-volatile log entry, the non-volatile log stored within a non-volatile random access memory; and updating, during a consistency point associated with the file system, a lock file stored on a persistent storage device with the modified lock state information of the non-volatile log entry, the persistent storage of the modified lock state information eliminating the need to reestablish the lock on a file after an error condition has occurred, wherein updating the lock file with the modified lock state information of the non-volatile log entry further comprises concatenating, on an owner basis, one or more non-volatile log entries to generate new entries for the lock file. - View Dependent Claims (2, 3, 4, 15)
-
-
5. A system configured to persistently store lock state information associated with a file comprising:
-
a storage system organized as any node in a cluster, the storage system executing a storage operating system configured to implement the file system; a non-volatile random access memory of the storage system, the non-volatile random access memory storing a non-volatile log; and wherein the storage operating system is further configured to, in response to receiving an operation to modify the lock state information;
(i) generate an entry within the non-volatile log for the received operation;
(ii) store modified lock state information within the non-volatile log entry; and
(iii) update, during a consistency point associated with the file system, a lock file with the modified lock state information of the non-volatile log entry, wherein update the lock file with the modified lock state information of the non-volatile log entry further comprises concatenating, on an owner basis, one or more non-volatile log entries to generate new entries for the lock file. - View Dependent Claims (6, 7, 8, 16)
-
-
9. A system configured to persistently store lock state information associated with a file system comprising:
-
means for receiving, at any node in a cluster, an operation configured to modify lock state information of the file system, the lock state information associated with at least one lock enabled by a client, the lock preventing modification of a file by another client in the cluster; means for generating an entry within a non-volatile log, the entry representative of a modified lock state-information; means for storing the modified lock state information within the non-volatile log entry, the non-volatile log stored within a non-volatile random access memory; and means for updating, during a consistency point associated with the file system, a lock file stored on a persistent storage device with the modified lock state information of the non-volatile log entry, wherein updating the lock file with the modified lock state information of the non-volatile log entry further comprises concatenating, on an owner basis, one or more non-volatile log entries to generate new entries for the lock file, the persistent storage of the modified lock state information eliminating the need to reestablish the lock on a file after an error condition has occurred. - View Dependent Claims (10, 11, 12)
-
-
13. A computer readable medium containing executable program instructions executed by a processor, comprising:
-
program instructions that receive, at any node in a cluster, an operation configured to modify lock state information of the file system, the lock state information associated with at least one lock enabled by a client, the lock preventing modification of a file by another client in the cluster; program instructions that generate an entry within a non-volatile log, the entry representative of a modified lock state information; program instructions that store the modified lock state information within the non-volatile log entry, the non-volatile log stored within a non-volatile random access memory; and program instructions that update, during a consistency point associated with the file system, a lock file with the modified lock state information of the non-volatile log entry, wherein update the lock file with the modified lock state information of the non-volatile log entry further comprises concatenating, on an owner basis, one or more non-volatile log entries to generate new entries for the lock file, the persistent storage of the modified lock state information eliminating the need to reestablish the lock on a file after an error condition has occurred. - View Dependent Claims (14)
-
-
17. A method for persistently storing lock state information associated with a file system, comprising:
-
receiving at a storage system an operation configured to modify lock state information of a lock file, the lock file previously stored on a persistent storage device; generating by a file system an entry within a non-volatile log, the entry representative of a modified lock state information; storing the modified lock state information within the non-volatile log entry, the non-volatile log stored within a non-volatile random access memory; updating, during a consistency point, by writing the entries stored on the non-volatile log to the lock file stored on the persistent storage device, wherein update the lock file with the modified lock state information of the non-volatile log entry further comprises concatenating, on an owner basis, one or more non-volatile log entries to generate new entries for the lock file, the entries written to the lock file so that any storage system in the cluster capable of accessing the storage devices may obtain the modified lock state information; encountering an error condition on a storage system, the storage system associated with the lock file contained on the persistent storage device; and reinitializing storage system and restoring, by the file system, the lock state to the state contained within the lock file on the persistent storage device. - View Dependent Claims (18)
-
-
19. A method for persistently storing lock state information associated with a file system comprising:
-
receiving, at any node in a cluster, an operation configured to modify lock state information of the file system, the lock state information associated with at least one lock enabled by a client, the lock preventing modification of a file by another client in the cluster while the lock is in place; generating an entry within a non-volatile log, the entry representative of a modified lock state information; storing the modified lock state information within the non-volatile log entry, the non-volatile log stored within a battery-backed memory; and updating, during a consistency point associated with the file system, a lock file stored on a disk with the modified lock state information of the non-volatile log entry, wherein update the lock file with the modified lock state information of the non-volatile log entry further comprises concatenating, on an owner basis, one or more non-volatile log entries to generate new entries for the lock file, the disk of the modified lock state information eliminating the need to reestablish the lock on a file after an error condition has occurred. - View Dependent Claims (20)
-
Specification