Relocation of metadata server with outstanding DMAPI requests
First Claim
Patent Images
1. A method of executing one or more operations on virtual metadata, comprising:
- initiating input/output operations;
locking virtual metadata associated with the input/output operations, wherein the locking of the virtual metadata associated with the input/output operations corresponds to the locking of a behavior head, the behavior head links to a first chain of behaviors, the locking of the behavior head prevents the first chain of behaviors from changing, and the first chain of behaviors include a vnode operation that performs a file system independent operation on a file and an inode operation that includes file system specific information;
after locking the virtual metadata, performing at least one sub-operation of the input/output operations in accordance with the locked virtual metadata;
before completing the input/output operations in accordance with the locked virtual metadata, identifying that the virtual metadata is to be relocated to a new server;
releasing the lock on the virtual metadata in response to an indication that the virtual metadata is to be relocated to a new server, during the execution of the input/output operations in accordance with the locked virtual metadata, wherein the releasing of the lock on the virtual metadata corresponds to unlocking the lock on the behavior head and the unlocking of the lock on the behavior head initiates a change from the first chain of behaviors to a second chain of behaviors;
forming the virtual metadata as a private data chain;
locking a pointer to the private data chain;
migrating the virtual metadata to the new server; and
releasing the lock on the pointer to the private data chain.
8 Assignments
0 Petitions
Accused Products
Abstract
A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem and operating system implementing DMAPI. Threads executing on a metadata client know when a DMAPI event is required, and generate the DMAPI event on their own initiative when necessary. A metadata server maintains DMAPI queues. If the metadata server relocates to another host, the DMAPI events in the DMAPI queues are moved transparently to users.
165 Citations
17 Claims
-
1. A method of executing one or more operations on virtual metadata, comprising:
-
initiating input/output operations; locking virtual metadata associated with the input/output operations, wherein the locking of the virtual metadata associated with the input/output operations corresponds to the locking of a behavior head, the behavior head links to a first chain of behaviors, the locking of the behavior head prevents the first chain of behaviors from changing, and the first chain of behaviors include a vnode operation that performs a file system independent operation on a file and an inode operation that includes file system specific information; after locking the virtual metadata, performing at least one sub-operation of the input/output operations in accordance with the locked virtual metadata; before completing the input/output operations in accordance with the locked virtual metadata, identifying that the virtual metadata is to be relocated to a new server; releasing the lock on the virtual metadata in response to an indication that the virtual metadata is to be relocated to a new server, during the execution of the input/output operations in accordance with the locked virtual metadata, wherein the releasing of the lock on the virtual metadata corresponds to unlocking the lock on the behavior head and the unlocking of the lock on the behavior head initiates a change from the first chain of behaviors to a second chain of behaviors; forming the virtual metadata as a private data chain; locking a pointer to the private data chain; migrating the virtual metadata to the new server; and releasing the lock on the pointer to the private data chain. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable storage medium including code for executing one or more operations on virtual metadata, the code operable to cause one or more processors to:
-
initiate input/output operations; lock virtual metadata associated with the input/output operations, wherein the locking of the virtual metadata associated with the input/output operations corresponds to the locking of a behavior head, the behavior head links to a first chain of behaviors, the locking of the behavior head prevents the first chain of behaviors from changing, and the first chain of behaviors include a vnode operation that performs a file system independent operation on a file and an inode operation that includes file system specific information; after locking the virtual metadata, perform at least one sub-operation of the input/output operations in accordance with the locked virtual metadata; before completing the input/output operations in accordance with the locked virtual metadata, identify that the virtual metadata is to be relocated to a new server; release the lock on the virtual metadata in response to an indication that the virtual metadata is to be relocated to a new server, during the execution of the input/output operations in accordance with the locked virtual metadata, wherein the releasing of the lock on the virtual metadata corresponds to unlocking the lock on the behavior head and the unlocking of the lock on the behavior head initiates a change from the first chain of behaviors to a second chain of behaviors; form the virtual metadata as a private data chain; lock a pointer to the private data chain; migrate the virtual metadata to the new server; and release the lock on the pointer to the private data chain. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for executing one or more operations on virtual metadata, comprising:
-
a plurality of storage devices coupled to a storage area network, the plurality of storage devices collectively storing at least one file; at least one metadata client node; and at least one metadata server node coupled to said storage area network, wherein the metadata server node; initiates input/output operations, locks virtual metadata associated with the input/output operations, wherein the locking of the virtual metadata associated with the input/output operations corresponds to the locking of a behavior head, the behavior head links to a first chain of behaviors, the locking of the behavior head prevents the first chain of behaviors from changing, and the first chain of behaviors include a vnode operation that performs a file system independent operation on a file and an inode operation that includes file system specific information; after locking the virtual metadata, performs at least one sub-operation of the input/output operations in accordance with the locked virtual metadata, before completing the input/output operations in accordance with the locked virtual metadata, identifies that the virtual metadata is to be relocated to a new server, releases the lock on the virtual metadata in response to an indication that the virtual metadata is to be relocated to a new server, during the execution of the input/output operations in accordance with the locked virtual metadata, wherein the releasing of the lock on the virtual metadata corresponds to unlocking the lock on the behavior head and the unlocking of the lock on the behavior head initiates a change from the first chain of behaviors to a second chain of behaviors; forms the virtual metadata as a private data chain; locks a pointer to the private data chain; migrates the virtual metadata to the new server; and releases the lock on the pointer to the private data chain. - View Dependent Claims (14, 15, 16, 17)
-
Specification