Tracking block-level writes
AssigneeVMware, Inc.
InventorsAlexei JELVIS, Ilia LANGOUEV, Ping LU, Aleksey Vasilyevich PERSHIN, Erik WEATHERS
Life of this patent
Estimating the term…
Abstract
One embodiment is a method of installing a block-level write tracking driver in a Microsoft Windows™ operating system so that no reboot of the system is need, another embodiment is a method of installing a block-level write tracking driver in a Linux operating system so that no reboot of the system is needed, and still another embodiment is a method of tracking block-level writes to snapshots under newer Microsoft Windows™ operating systems.
Claims19
A method of installing a block-level write tracking driver which tracks writes to a volume in a Microsoft Windows™ operating system, the method comprising:
- the write tracking driver:
- finding a block device stack corresponding to the volume;
- selecting a device object in the block device stack;
- accessing a driver object pointed to by the device object;
- and
- replacing a function pointer entry in a dispatch table in the driver object.
A method of installing a block-level write tracking driver which tracks writes to a block device in a Linux operating system, the method comprising:
- the write tracking driver:
- finding a block device structure corresponding to the block device;
- accessing a request queue in the block device structure;
- and
- replacing a function pointer entry in the request queue.
A method of installing a block-level write tracking driver which tracks writes to a volume in a Microsoft Windows™ operating system, the method comprising:
- the write tracking driver:
- finding a block device stack corresponding to the volume;
- iterating through the block device stack, starting at a device object on top of the stack:
- (a) for the next device object in the device stack, accessing a driver object pointed to by the device object;
- (b) comparing the driver name in the driver object to the name of a VolSnap driver;
- if the name is the same, replacing a function pointer entry in a dispatch table in the driver object;
- if the name is not the same, returning to (a) until the last device object in the device stack is reached;
- and
- replacing a function pointer entry in a dispatch table in the driver object pointed to by the last device object in the device stack.
A computer-readable storage medium containing instructions for causing a computer system to carry out a method of installing a block-level write tracking driver which tracks writes to a volume in a Microsoft Windows™ operating system, the method comprising:
- the write tracking driver:
- finding a block device stack corresponding to the volume;
- selecting a device object in the block device stack;
- accessing a driver object pointed to by the device object;
- and
- replacing a function pointer entry in a dispatch table in the driver object.
A computer-readable storage medium containing instructions for causing a computer system to carry out a method of installing a block-level write tracking driver which tracks writes to a block device in a Linux operating system, the method comprising:
- the write tracking driver:
- finding a block device structure corresponding to the block device;
- accessing a request queue in the block device structure;
- and
- replacing a function pointer entry in the request queue.
Dependencies are inferred from the claim text.