public sealed override ContentSummaryComputationContext ComputeContentSummary(ContentSummaryComputationContext summary) { //only count storagespace for WithName QuotaCounts q = new QuotaCounts.Builder().Build(); ComputeQuotaUsage(summary.GetBlockStoragePolicySuite(), GetStoragePolicyID(), q, false, lastSnapshotId); summary.GetCounts().AddContent(Content.Diskspace, q.GetStorageSpace()); summary.GetCounts().AddTypeSpaces(q.GetTypeSpaces()); return(summary); }
public sealed override ContentSummaryComputationContext ComputeContentSummary(ContentSummaryComputationContext summary) { ContentCounts counts = summary.GetCounts(); FileWithSnapshotFeature sf = GetFileWithSnapshotFeature(); long fileLen = 0; if (sf == null) { fileLen = ComputeFileSize(); counts.AddContent(Content.File, 1); } else { FileDiffList diffs = sf.GetDiffs(); int n = diffs.AsList().Count; counts.AddContent(Content.File, n); if (n > 0 && sf.IsCurrentFileDeleted()) { fileLen = diffs.GetLast().GetFileSize(); } else { fileLen = ComputeFileSize(); } } counts.AddContent(Content.Length, fileLen); counts.AddContent(Content.Diskspace, StoragespaceConsumed()); if (GetStoragePolicyID() != BlockStoragePolicySuite.IdUnspecified) { BlockStoragePolicy bsp = summary.GetBlockStoragePolicySuite().GetPolicy(GetStoragePolicyID ()); IList <StorageType> storageTypes = bsp.ChooseStorageTypes(GetFileReplication()); foreach (StorageType t in storageTypes) { if (!t.SupportTypeQuota()) { continue; } counts.AddTypeSpace(t, fileLen); } } return(summary); }
public override ContentSummaryComputationContext ComputeContentSummary(ContentSummaryComputationContext summary) { DirectoryWithSnapshotFeature sf = GetDirectoryWithSnapshotFeature(); if (sf != null) { sf.ComputeContentSummary4Snapshot(summary.GetBlockStoragePolicySuite(), summary.GetCounts ()); } DirectoryWithQuotaFeature q = GetDirectoryWithQuotaFeature(); if (q != null) { return(q.ComputeContentSummary(this, summary)); } else { return(ComputeDirectoryContentSummary(summary, Org.Apache.Hadoop.Hdfs.Server.Namenode.Snapshot.Snapshot .CurrentStateId)); } }