BACKGROUND

Applying a delta logging approach (e.g., in a storage cluster(s)) may avoid logging of full metadata (MD) pages, which may waste the log/journal resources). As such, just the actual data changes (e.g., delta tuples) may be logged instead. However, in snapshot created flows, there may still be a need to copy/log the entire mapper MD pages (e.g., top/mid/leaf). This massive delta logging (of actually duplicated data) may cause delta log infrastructure overloading, and thereby still wasting NVRAM bandwidth, that causes performance degradation.

BRIEF SUMMARY OF DISCLOSURE

In one example implementation, a method, performed by one or more computing devices, may include but is not limited to creating, by a computing device, a child leaf of a snapshot associated with a parent leaf of a volume. At least one entry associated with one of the parent leaf and the child leaf may be added to a delta log. Only delta changes may be written to the child leaf. One of a first destaging technique and a second destaging technique may be used for the child leaf.

One or more of the following example features may be included. Using one of the first destaging technique and the second destaging technique for the child leaf may include determining whether the at least one entry associated with one of the parent leaf and the child leaf is found in the delta log indicating a dependency between the parent leaf and the child leaf. The first destaging technique may be used when the at least one entry associated with one of the parent leaf and the child leaf is not found in the delta log indicating a lack of the dependency. The second destaging technique may be used when the at least one entry associated with one of the parent leaf and the child leaf is found in the delta log indicating the dependency. The second destaging technique may include building an up-to-date version of a page associated with the parent leaf. The second destaging technique may further include using the up-to-date version of the page associated with the parent leaf as a base for building the child leaf. The second destaging technique may further include updating a page associated with the child leaf by applying all deltas associated with the parent leaf and the child leaf.

In another example implementation, a computing system may include one or more processors and one or more memories configured to perform operations that may include but are not limited to creating a child leaf of a snapshot associated with a parent leaf of a volume. At least one entry associated with one of the parent leaf and the child leaf may be added to a delta log. Only delta changes may be written to the child leaf. One of a first destaging technique and a second destaging technique may be used for the child leaf.

One or more of the following example features may be included. Using one of the first destaging technique and the second destaging technique for the child leaf may include determining whether the at least one entry associated with one of the parent leaf and the child leaf is found in the delta log indicating a dependency between the parent leaf and the child leaf. The first destaging technique may be used when the at least one entry associated with one of the parent leaf and the child leaf is not found in the delta log indicating a lack of the dependency. The second destaging technique may be used when the at least one entry associated with one of the parent leaf and the child leaf is found in the delta log indicating the dependency. The second destaging technique may include building an up-to-date version of a page associated with the parent leaf. The second destaging technique may further include using the up-to-date version of the page associated with the parent leaf as a base for building the child leaf. The second destaging technique may further include updating a page associated with the child leaf by applying all deltas associated with the parent leaf and the child leaf.

In another example implementation, a computer program product may reside on a computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, may cause at least a portion of the one or more processors to perform operations that may include but are not limited to creating a child leaf of a snapshot associated with a parent leaf of a volume. At least one entry associated with one of the parent leaf and the child leaf may be added to a delta log. Only delta changes may be written to the child leaf. One of a first destaging technique and a second destaging technique may be used for the child leaf.

One or more of the following example features may be included. Using one of the first destaging technique and the second destaging technique for the child leaf may include determining whether the at least one entry associated with one of the parent leaf and the child leaf is found in the delta log indicating a dependency between the parent leaf and the child leaf. The first destaging technique may be used when the at least one entry associated with one of the parent leaf and the child leaf is not found in the delta log indicating a lack of the dependency. The second destaging technique may be used when the at least one entry associated with one of the parent leaf and the child leaf is found in the delta log indicating the dependency. The second destaging technique may include building an up-to-date version of a page associated with the parent leaf. The second destaging technique may further include using the up-to-date version of the page associated with the parent leaf as a base for building the child leaf. The second destaging technique may further include updating a page associated with the child leaf by applying all deltas associated with the parent leaf and the child leaf.

The details of one or more example implementations are set forth in the accompanying drawings and the description below. Other possible example features and/or possible example advantages will become apparent from the description, the drawings, and the claims. Some implementations may not have those possible example features and/or possible example advantages, and such possible example features and/or possible example advantages may not necessarily be required of some implementations.

