Extending file system namespace types
First Claim
1. A computer-implemented method, comprising:
- indexing, by a computing device comprising a processor and memory, a node based on a first node attribute associated with a first namespace type of a file system that is being executed on the computing device;
during execution of the file system, extending the file system with a second namespace type associated with a second node attribute;
indexing, during the execution of the file system, the node based on the first node attribute and the second node attribute;
in response to receiving a request to perform a requested update;
acquiring a first lock of a first node in the file system,performing a first update of the first node while the first lock of the first node is held,releasing the first lock of the first node,acquiring a second lock of a second node in the file system, wherein performing the first update of the first node is independent of acquiring the second lock of the second node,performing a second update of the second node to reflect the first update of the first node while the second lock of the second node is held, andreleasing the second lock of the second node; and
sending a notification from the first node to the second node, the notification indicating that the first update of the first node has been performed, wherein the acquiring the second lock of the second node is performed in response to the notification; and
sending a response to the request after sending the notification without waiting for the second update of the second node to be completed, the response indicating that the requested update is complete.
2 Assignments
0 Petitions
Accused Products
Abstract
In response to a request to a file system to perform a requested update, a lock of a first node in a file system can be acquired, and an update of the first node can be performed while the lock of the first node is held. Also in response to the request, a lock of a second node can be acquired, and an update of the second node, which reflects the update of the first node, can be performed while the lock of the second node is held. A file system can allow a pair of update operations to be performed in parallel where both operations include updating the same container node. Additionally, while a file system is running, new namespace types can be defined, and the file system can be extended to manage nodes within the new namespace types.
32 Citations
9 Claims
-
1. A computer-implemented method, comprising:
-
indexing, by a computing device comprising a processor and memory, a node based on a first node attribute associated with a first namespace type of a file system that is being executed on the computing device; during execution of the file system, extending the file system with a second namespace type associated with a second node attribute; indexing, during the execution of the file system, the node based on the first node attribute and the second node attribute; in response to receiving a request to perform a requested update; acquiring a first lock of a first node in the file system, performing a first update of the first node while the first lock of the first node is held, releasing the first lock of the first node, acquiring a second lock of a second node in the file system, wherein performing the first update of the first node is independent of acquiring the second lock of the second node, performing a second update of the second node to reflect the first update of the first node while the second lock of the second node is held, and releasing the second lock of the second node; and sending a notification from the first node to the second node, the notification indicating that the first update of the first node has been performed, wherein the acquiring the second lock of the second node is performed in response to the notification; and sending a response to the request after sending the notification without waiting for the second update of the second node to be completed, the response indicating that the requested update is complete. - View Dependent Claims (2, 3)
-
-
4. One or more computer-readable storage media having computer-executable instructions embodied thereon that, when executed by a computing device, cause the computing device to perform operations comprising:
-
indexing a node based on a first node attribute associated with a first namespace type of a file system that is being executed on the computing device; during execution of the file system, extending the file system with a second namespace type associated with a second node attribute; indexing, during the execution of the file system, the node based on the first node attribute and the second node attribute; in response to a request to perform a requested update; acquiring a first lock of a first node in the file system, performing a first update of the first node while the first lock of the first node is held, releasing the first lock of the first node, acquiring a second lock of a second node in the file system, wherein the performing the first update of the first node is independent of the acquiring the second lock of the second node, performing a second update of the second node to reflect the first update of the first node while the second lock of the second node is held, and releasing the second lock of the second node; sending a notification from the first node to the second node, the notification indicating that the first update of the first node has been performed, wherein the acquiring the second lock of the second node is performed in response to the notification; and sending a response to the request after sending the notification without waiting for the second update of the second node to be completed, the response indicating that the requested update is complete. - View Dependent Claims (5, 6)
-
-
7. A computer system comprising:
-
at least one processor; and a memory comprising instructions stored thereon that when executed by the at least one processor cause the computer system to perform operations comprising; indexing, by a computing device comprising a processor and memory, a node based on a first node attribute associated with a first namespace type of a file system executing on the computing device; during the execution of the file system, extending the file system with a second namespace type associated with a second node attribute; and indexing, during the execution of the file system, the node based on the first node attribute and the second node attribute; in response to a request to perform a requested update; acquiring a first lock of a first node in the file system, performing a first update of the first node while the first lock of the first node is held, releasing the first lock of the first node, acquiring a second lock of a second node in the file system, performing the first update of the first node being independent of acquiring the second lock of the second node, performing a second update of the second node to reflect the first update of the first node while the second lock of the second node is held, and releasing the second lock of the second node; sending a notification from the first node to the second node, the notification indicating the first update of the first node has been performed, wherein the acquiring the second lock of the second node is performed in response to the notification; and sending a response to the request after sending the notification without waiting for the second update of the second node to be completed, the response indicating that the requested update is complete. - View Dependent Claims (8, 9)
-
Specification