Virtual Disk Manipulation Operations
First Claim
1. In a computing environment, a system comprising, a virtual disk comprising at least two overlapping layers, and a mechanism that handles I/O of a meta-operation that manipulates data of the virtual disk concurrent with servicing virtual disk read and write I/O of the virtual disk, including by preventing at least one meta-operation write to a virtual disk offset range concurrent with a virtual disk write to an overlapping virtual disk offset range.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a technology by which a virtual hard disk is able to continue servicing virtual disk I/O (reads and writes) while a meta-operation (e.g., copying, moving, deleting, merging, compressing, defragmenting, cryptographic signing, lifting, dropping, converting, or compacting virtual disk data) is performed on the virtual disk. The servicing of virtual disk I/Os may be coordinated with meta-operation performance, such as by throttling and/or prioritizing the virtual disk I/Os. Also described is performing a meta-operation by manipulating one or more de-duplication data structures.
73 Citations
20 Claims
- 1. In a computing environment, a system comprising, a virtual disk comprising at least two overlapping layers, and a mechanism that handles I/O of a meta-operation that manipulates data of the virtual disk concurrent with servicing virtual disk read and write I/O of the virtual disk, including by preventing at least one meta-operation write to a virtual disk offset range concurrent with a virtual disk write to an overlapping virtual disk offset range.
- 13. In a computing environment, a method performed on at least one processor, comprising, receiving a meta-operation write at a virtual disk having at least two layers, and determining whether the meta-operation write is concurrent with any other write to overlapping layers at a same virtual disk offset range, and if not, allowing the write to proceed.
-
18. One or more computer-readable media having computer-executable instructions, which when executed perform steps, comprising:
-
receiving I/O corresponding to a meta-operation on a virtual disk; and determining whether the I/O can be handled by manipulating one or more de-duplication data structures, and if so, manipulating the one or more de-duplication data structures to perform at least part of the meta-operation. - View Dependent Claims (19, 20)
-
Specification