Abstract:
Machine implemented method and system for a networked storage system having a first storage system node providing storage space to a client computing system at a first storage device and a second storage system node managing a second storage device are provided. A lock is granted by the first storage system node to the client computing system for accessing a data container stored at the first storage device. The first storage system node updates a lock data structure for managing the lock granted to the client computing system. Information regarding the lock is then replicated at the second storage system node, such that the second storage system node can recover the lock, when the first storage system node becomes unavailable and the second storage system node takes over the first storage device to interface with the client computing system.
Abstract:
In one exemplary embodiment, a DSM is used to store the data structures in a cluster shared memory, such that updates, deletions and insertions are applied to both the persistent data set and the DSM, and search, list and retrieval operations are processed directly from the DSM. A data structure in the persistent data set is stored in two separate DSM pages: a first page includes an identifying search key of the data structure, the search key also pointing to a location of the data structure in the storage. A second page includes the updatable properties of the data structure. A DSM storing the data structures' pages is organized as a two-row matrix.
Abstract:
In a method of identifying a globally consistent state in a multithreaded program, a plurality of locally consistent states is identified, in which a locally consistent state of a thread comprises a set of memory locations and their corresponding data values accessed between points in the multithreaded program where no locks are held. Globally consistent states are identified based at least in part on the locally consistent states.
Abstract:
The present disclosure involves systems, products, and methods for excluding inconsistent objects from lifecycle management processing. One method includes operations for identifying a set of objects in a system, at least a subset of the set of objects associated with a lifecycle management process; prior to performing the lifecycle management process, determining a consistency status for each object in the subset of objects associated with the lifecycle management process; and performing the lifecycle management process, wherein performing the lifecycle management process includes executing at least one lifecycle management operation on each object in the set of objects determined to be consistent within the system prior to performing the lifecycle management process. In some instances, performing the lifecycle management process may include skipping the execution of the at least one lifecycle management operation for each inconsistent object during the lifecycle management process.
Abstract:
A method for file lock recovery in a distributed computer system. The method includes executing a distributed computer system having a plurality of nodes comprising a cluster, and initiating a network file system server fail over from one node of the cluster to an adoptive node of the cluster. File lock services are then stopped at the adoptive node. File lock services are subsequently restarted at the adoptive node, wherein the restart causes the adoptive node to commence a grace period for other network file system clients to connect to the adoptive node and reclaim file locks. After restarting file lock services, a cluster file system is updated on the adoptive node with process identifiers, and file lock services are resumed at the adoptive node. The cluster file system can be simultaneously exposing the file lock services to other clients as well, like CIFS, etc.
Abstract:
According to a method of access to a shared data record subject to contemporaneous read and write access by multiple requesters, a requester reads a shared data record including a payload and a first checksum. The requester calculates a second checksum of the payload of the data record. If the first and second checksums are not equal, the requester again reads the shared data record, including a third checksum, and calculates a fourth checksum of the payload of the shared data record. If the third and fourth checksums are equal, the requester processes the shared data record as valid, and if the second and fourth checksums are equal, the requester handles the shared data record as corrupt.
Abstract:
In response to an instruction to dismount a storage volume, for example, an object in the storage volume is identified and a handle that references the object is closed. Once an exclusive lock on the storage volume is acquired, the storage volume can be dismounted. The storage volume can then remounted.
Abstract:
Locking allocated data space is disclosed. An indication is received that certain previous version data is required to be retained. A map of metadata records, each associated with a journaling process write of previous version data which write includes previous version data required to be retained, is built. In some embodiments, the map associates a write time with each record in the map. A reclamation process checks to determine whether any storage proposed to be reclaimed is included in the map of record identifiers. In some embodiments, the determination is made based at least in part on the write time associated in the map with at least a first record identifier in time-sorted order.
Abstract:
A system and method for managing shared resources is disclosed. The system includes a primary coherency processing unit which processes lock requests from a plurality of data processing hosts, the primary coherency processing unit also storing a first current lock state information for the plurality of data processing hosts, the first current lock state information including a plurality of locks held by the plurality of data processing hosts. The system further includes a standby coherency processing unit storing fewer locks than the primary coherency processing unit, the locks stored by the standby coherency processing unit being a subset of locks included in the first current lock state information, the standby coherency unit configured to perform a plurality of activities of the primary coherency processing unit using the subset of locks in response to a failure of the primary coherency processing unit.
Abstract:
A serverless distributed file system manages the storage of files and directories using one or more directory groups. The directories may be managed using Byzantine-fault-tolerant groups, whereas files are managed without using Byzantine-fault-tolerant groups. Additionally, the file system may employ a hierarchical namespace to store files. Furthermore, the directory group may employ a plurality of locks to control access to objects (e.g., files and directories) in each directory.