QM: Expand origin metadata file format with additional fields
Categories
(Core :: Storage: Quota Manager, task, P2)
Tracking
()
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.
Assignee | ||
Comment 1•20 days ago
|
||
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.
Assignee | ||
Comment 2•19 days ago
|
||
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.
Description
•