Method and apparatus for file system snapshot persistence
First Claim
Patent Images
1. A method in a data processing system for managing data in a file system, the method comprising:
- detecting a request to modify a data block in the file system;
responsive to detecting the request;
writing metadata describing the data block in the file system into a snapshot image, wherein the snapshot image is updated to maintain a consistent block-level image of the file system from a point-in-time when the snapshot was created, andwherein the writing further comprises writing an in-use state of snapshot map entries for a snapshot map group to the snapshot image prior to any before-image data blocks referenced by the snapshot map group being written to the snapshot image; and
copying data for the data block in the file system to the snapshot image to further update the snapshot image; and
modifying the data block in the file system after copying of the data in the data block to the snapshot image has occurred, wherein the snapshot image is usable to return the file system to a state prior to modifying the data block in the file system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus, and computer instructions for managing data in a file system in a data processing system. A request to modify a data block in the file system is detected during file system recovery time. In response to detecting the request, metadata is written to describe the data block into a snapshot image. The data is copied for the data block in the file system to the snapshot image. The data block is modified in the file system after the data is copied into the snapshot image. The snapshot image may be used to return the file system to a state prior to modifying the data block in the file system.
-
Citations
23 Claims
-
1. A method in a data processing system for managing data in a file system, the method comprising:
-
detecting a request to modify a data block in the file system; responsive to detecting the request; writing metadata describing the data block in the file system into a snapshot image, wherein the snapshot image is updated to maintain a consistent block-level image of the file system from a point-in-time when the snapshot was created, and wherein the writing further comprises writing an in-use state of snapshot map entries for a snapshot map group to the snapshot image prior to any before-image data blocks referenced by the snapshot map group being written to the snapshot image; and copying data for the data block in the file system to the snapshot image to further update the snapshot image; and modifying the data block in the file system after copying of the data in the data block to the snapshot image has occurred, wherein the snapshot image is usable to return the file system to a state prior to modifying the data block in the file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data processing system for managing data in a file system, the data processing system comprising:
-
detecting means for detecting a request to modify a data block in the file system; responsive to detecting the request; writing means for writing metadata describing the data block in the file system into a snapshot image, wherein the snapshot image is updated to maintain a consistent block-level image of the file system from a point-in-time when the snapshot was created, and wherein the writing further comprises writing an in-use state of snapshot map entries for a snapshot map group to the snapshot image prior to any before-image data blocks referenced by the snapshot map group being written to the snapshot image; and copying means for copying data for the data block in the file system to the snapshot image to further update the snapshot image; and modifying means for modifying the data block in the file system after copying of the data in the data block to the snapshot image has occurred, wherein the snapshot image is usable to return the file system to a state prior to modifying the data block in the file system. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer program product in a computer readable medium for managing data in a file system in a data processing system, the computer program product comprising:
-
first instructions for detecting a request to modify a data block in the file system; responsive to detecting the request; second instructions for writing metadata describing the data block in the file system into a snapshot image, wherein the snapshot image is updated to maintain a consistent block-level image of the file system from a point-in-time when the snapshot was created, and wherein the writing further comprises writing an in-use state of snapshot map entries for a snapshot map group to the snapshot image prior to any before-image data blocks referenced by the snapshot map group being written to the snapshot image; and third instructions for copying data for the data block in the file system to the snapshot image to further update the snapshot image; and fourth instructions for modifying the data block in the file system after copying of the data in the data block to the snapshot image has occurred, wherein the snapshot image is usable to return the file system to a state prior to modifying the data block in the file system. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A data processing system comprising:
-
a bus system; a memory connected to the bus system, wherein the memory includes a set of instructions; and
a processing unit connected to the bus system, wherein the processing unit executes a set of instructions to detect a request to modify a data block in the file system;
write metadata describing the data block in the file system into a snapshot image, in response to detecting the request, wherein the snapshot image is updated to maintain a consistent block-level image of the file system from a point-in-time when the snapshot was created;
wherein the writing further comprises writing an in-use state of snapshot map entries for a snapshot map group to the snapshot image prior to any before-image data blocks referenced by the snapshot map group being written to the snapshot image; and
copy data for the data block in the file system to the snapshot image to further update the snapshot image in response to detecting the request; and
modify the data block in the file system after copying of the data in the data block to the snapshot image has occurred, wherein the snapshot image is usable to return the file system to a state prior to modifying the data block in the file system.
-
Specification