System and method for hijacking inodes based on replication operations received in an arbitrary order
First Claim
1. A computing device, comprising:
- a memory containing computer-readable storage medium having stored thereon instructions for performing a method; and
a processor coupled with the memory, the processor configured to execute the instructions to cause the processor to;
receive, by a first storage system from a second storage system, a first replication operation that is to modify a first inode at the first storage system, wherein the first replication operation specifies that the first inode is expected to have a first inode type;
determine that the first inode has a second inode type;
determine that the first replication operation has been received by the first storage system out of order relative to an order for which a corresponding operation was executed at the second storage system based upon the first inode type not matching the second inode type;
populate a first portion of inode metadata of the first inode based upon the first replication operation;
initialize a remaining portion of the inode metadata to default values;
receive a second replication operation that is to modify the first inode; and
populate the remaining portion of the inode metadata based upon the second replication operation.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for hijacking inodes based on replication operations received in an arbitrary order is used to assist a data replication operation from a source storage system to a destination storage system. The source storage system generates a set of replication operations as part of a replication process and transmits the replication operations in an arbitrary order. After receiving a replication operation, the system determines whether the operation is inconsistent with a corresponding destination inode. If an inconsistency exists, the system hijacks the destination inode by replacing the destination inode'"'"'s metadata with data determined based on the replication operation. The system may also delete metadata from the inode and/or initialize metadata to default values if the metadata was not replaced based on the replication operation. The system then waits for a second replication operation that contains the remaining metadata and replaces the metadata based on the second replication operation. In addition, data blocks associated with the previous version of the inode are freed.
110 Citations
20 Claims
-
1. A computing device, comprising:
-
a memory containing computer-readable storage medium having stored thereon instructions for performing a method; and a processor coupled with the memory, the processor configured to execute the instructions to cause the processor to; receive, by a first storage system from a second storage system, a first replication operation that is to modify a first inode at the first storage system, wherein the first replication operation specifies that the first inode is expected to have a first inode type; determine that the first inode has a second inode type; determine that the first replication operation has been received by the first storage system out of order relative to an order for which a corresponding operation was executed at the second storage system based upon the first inode type not matching the second inode type; populate a first portion of inode metadata of the first inode based upon the first replication operation; initialize a remaining portion of the inode metadata to default values; receive a second replication operation that is to modify the first inode; and populate the remaining portion of the inode metadata based upon the second replication operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
receiving, by a first storage system from a second storage system, a first replication operation that is to modify a first inode at the first storage system, wherein the first replication operation specifies that the first inode is expected to have a first inode type; determining that the first inode has a second inode type; determining that the first replication operation has been received by the first storage system out of order relative to an order for which a corresponding operation was executed at the second storage system based upon the first inode type not matching the second inode type; populating a first portion of inode metadata of the first inode based upon the first replication operation; initializing a remaining portion of the inode metadata to default values; receiving a second replication operation that is to modify the first inode; and populating the remaining portion of the inode metadata based upon the second replication operation. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium comprising instructions that, when executed by a processor, cause the processor to:
-
receive, by a first storage system from a second storage system, a first replication operation that is to modify a first inode at the first storage system, wherein the first replication operation specifies that the first inode is expected to have a first inode type; determine that the first inode has a second inode type; determine that the first replication operation has been received by the first storage system out of order relative to an order for which a corresponding operation was executed at the second storage system based upon the first inode type not matching the second inode type; populate a first portion of inode metadata of the first inode based upon the first replication operation; initialize a remaining portion of the inode metadata to default values; receive a second replication operation that is to modify the first inode; and populate the remaining portion of the inode metadata based upon the second replication operation. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification