Metadata Grouping
Swift today includes a single path for supporting all types of Metadata.
The industry (e.g. CDMI) has already acknowledged that different types of MD require different handling:
- Storage System MD: Created by the storage system and consumed by the user (e.g. counters)
- System MD: Created by the user and consumed by the storage system (e.g. ACLs, Quata)
- User MD: Created by the user and consumed by the user (e.g. any regular user MD)
Swift can benefit from clear distinction between the MD types to both simplify current code and allow easy extensions for new types of MD in the future.
This work can also be used to improve performance (e.g. user MD is not needed in cache).
Metadata suggested way forward:
1. Map all places where the code includes: If <this_metadata> do X else Y and see if they fit the 3 way MD described above
2. Group types of MD and generalize!
3. Consider what can be done for 1.0 and what need to be done for 1.1
**A bug will be opened to accompany this work and allow for easier discussion since the blueprint facility does not allow comments.
See https:/
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- David Hadas
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by