Open Bug 1963271 Opened 21 days ago Updated 19 days ago

QM: Expand origin metadata file format with additional fields

Categories

(Core :: Storage: Quota Manager, task, P2)

task

Tracking

()

ASSIGNED

People

(Reporter: janv, Assigned: janv)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

The goal of this bug is to expand the origin metadata file format to support additional fields beyond the accessed flag, including quotaVersion, clientUsages, and originUsage.

This work involves updating the on-disk format to read and write the new fields, and extending the FullOriginMetadata struct to reflect the expanded data. These additional fields are essential for L2 quota info cache, allowing cached quota info information to be used instead of doing a full directory scan.

Backward compatibility will be maintained by detecting and handling older metadata files that do not contain the new fields, ensuring a safe and gradual rollout without requiring a full storage migration.

Refactors ClientUsageArray to inherit from Array instead of AutoTArray. This
slightly reduces overhead and removes the dependency on nsTArray.h, which is
important as ClientUsageArray will have to be included from CommonMetadata.h.

This patch adds Equals() methods to PrincipalMetadata, OriginMetadata,
OriginStateMetadata, and FullOriginMetadata. These comparisons will be used to
support testing of FullOriginMetadata::Clone and will later enable logic to
decide whether fast (header-only) or full metadata saving should be used.

No functional behavior is changed in this patch. It is preparation for upcoming
support for new metadata fields and optimized saving paths.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: