System and method for providing safe data movement using third party copy techniques
First Claim
1. A method comprising:
- initiating a data restore operation, wherein the data restore operation targets a plurality of blocks of a storage resource;
determining whether an input/output (I/O) operation targets at least one of the plurality of blocks of the storage resource;
preventing the I/O operation from being performed on the at least one of the plurality of blocks of the storage resource when the at least one of the plurality of blocks of the storage resource has not yet been affected by the data restore operation;
allowing the I/O operation to be performed on the at least one of the plurality of blocks of the storage resource subsequent to the preventing the I/O operation from being performed;
notifying at least one of a data mover and a data transport application of a need to abort a third-party copy operation before the allowing the I/O operation to be performed;
sending an extent guard indication to the data transport application;
sending a third-party copy operation abort request from the data transport application to the data mover; and
receiving acknowledgement from the data mover before allowing the I/O operation to be performed.
7 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, apparatus and software can utilize an extent guard to prevent modification (including relocation) of data in the storage resource while a third-party copy operation directed at the storage resource is occurring. A data transport mechanism such as a data restore application provides an extent list to the extent guard, which monitors read and/or write activity to storage resources described by the extent list. The data transport mechanism requests a data mover to perform a third-party copy operation whereby data is moved from a data source to the storage resource. If a modification attempt is made on the portion of the storage resource described by the extent list, the extent guard stalls the modification attempt until the third-party copy operation is aborted.
-
Citations
18 Claims
-
1. A method comprising:
-
initiating a data restore operation, wherein the data restore operation targets a plurality of blocks of a storage resource; determining whether an input/output (I/O) operation targets at least one of the plurality of blocks of the storage resource; preventing the I/O operation from being performed on the at least one of the plurality of blocks of the storage resource when the at least one of the plurality of blocks of the storage resource has not yet been affected by the data restore operation; allowing the I/O operation to be performed on the at least one of the plurality of blocks of the storage resource subsequent to the preventing the I/O operation from being performed; notifying at least one of a data mover and a data transport application of a need to abort a third-party copy operation before the allowing the I/O operation to be performed; sending an extent guard indication to the data transport application; sending a third-party copy operation abort request from the data transport application to the data mover; and receiving acknowledgement from the data mover before allowing the I/O operation to be performed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable storage medium comprising program instructions executable on a processor, the computer readable storage medium being at least one of an electronic storage medium, a magnetic storage medium, and an optical storage medium, wherein the program instructions are operable to:
-
initiate a data restore operation, wherein the data restore operation targets a plurality of blocks of a storage resource; determine whether an input/output (I/O) operation targets at least one of the plurality of blocks of the storage resource; prevent the I/O operation from being performed on the at least one of the plurality of blocks of the storage resource when the at least one of the plurality of blocks of the storage resource has not yet been affected by the data restore operation; allow the I/O operation to be performed on the at least one of the plurality of blocks of the storage resource subsequent to the preventing the I/O operation from being performed; notify at least one of a data mover and a data transport application of a need to abort a third-party copy operation before the allowing the I/O operation to be performed; send an extent guard indication to the data transport application; send a third-party copy operation abort request from the data transport application to the data mover; and receive acknowledgement from the data mover before allowing the I/O operation to be performed. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. An apparatus comprising:
-
means for initiating a data restore operation, wherein the data restore operation targets a plurality of blocks of a storage resource; means for determining whether an input/output (I/O) operation targets at least one of the plurality of blocks of the storage resource; and means for preventing the I/O operation from being performed on the at least one of the plurality of blocks of the storage resource when the at least one of the plurality of blocks of the storage resource has not yet been affected by the data restore operation; means for allowing the I/O operation to be performed on the at least one of the plurality of blocks of the storage resource subsequent to the prevention of the performance of the I/O operation; means for notifying at least one of a data mover and a data transport application of a need to abort a third-party copy operation before the I/O operation is allowed to be performed; means for sending an extent guard indication to the data transport application; means for sending a third-party copy operation abort request from the data transport application to the data mover; and means for receiving acknowledgement from the data mover before allowing the I/O operation to be performed. - View Dependent Claims (15, 16, 17, 18)
-
Specification