Accelerating concurrent access to a file in a memory-based file system
AssigneeNetApp, Inc.
InventorsAmit Golander, Sagi Manole, Boaz Harrosh
Life of this patent
Estimating the term…
Abstract
A method, apparatus and product for accelerating concurrent access to a file in a memory-based file system. The method comprising receiving a request issued by a program, for accessing a file stored in a memory-based file system; and subject to the request being associated with data modification of data within the file, and subject to the modification not necessitating change in a structure of a data structure used for content lookup for the file, acquiring a lock to the file to the program, wherein the lock is acquired in a shared mode.
Claims20
A method, comprising:
- representing a file, of a memory-based file system and mapped to an address range of memory, using a data structure comprising a data unit accessible by a data lock and a metadata unit with a first portion accessible by a metadata lock and a second portion updateable by an atomic operation without a lock;
- and
- utilizing the data lock and the metadata lock in a shared mode based upon an estimate, using a request type of a request, that a data modification of the request changes a structure of the data structure and the data modification is delayed.
A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
- represent a file, of a memory-based file system and mapped to an address range of memory, using a data structure comprising a data unit accessible by a data lock and a metadata unit with a first portion accessible by a metadata lock and a second portion updateable by an atomic operation without a lock;
- and
- utilize the data lock and the metadata lock in a shared mode based upon an estimate, using a request type of a request, that a data modification of the request changes a structure of the data structure and the data modification is delayed.
A computing device comprising:
- a memory comprising machine executable code for performing a method;
- and
- a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
- represent a file, of a memory-based file system and mapped to an address range of memory, using a data structure comprising a data unit accessible by a data lock and a metadata unit with a first portion accessible by a metadata lock and a second portion updateable by an atomic operation without a lock;
- and
- utilize the data lock and the metadata lock in a shared mode based upon an estimate, using a request type of a request, that a data modification of the request changes a structure of the data structure and the data modification is delayed.
Dependencies are inferred from the claim text.