public virtual ContentSummaryComputationContext ComputeContentSummary(BlockStoragePolicySuite bsps, INodeDirectory snapshotRoot, ContentSummaryComputationContext summary) { snapshotRoot.ComputeContentSummary(summary); summary.GetCounts().AddContent(Content.Snapshot, snapshotsByNames.Count); summary.GetCounts().AddContent(Content.SnapshottableDirectory, 1); return(summary); }
public virtual void ComputeContentSummary4Snapshot(BlockStoragePolicySuite bsps, ContentCounts counts) { // Create a new blank summary context for blocking processing of subtree. ContentSummaryComputationContext summary = new ContentSummaryComputationContext(bsps ); foreach (DirectoryWithSnapshotFeature.DirectoryDiff d in diffs) { foreach (INode deleted in d.GetChildrenDiff().GetList(Diff.ListType.Deleted)) { deleted.ComputeContentSummary(summary); } } // Add the counts from deleted trees. counts.AddContents(summary.GetCounts()); // Add the deleted directory count. counts.AddContent(Content.Directory, diffs.AsList().Count); }