Metadata Grouping

Registered by David Hadas

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://bugs.launchpad.net/swift/+bug/1170043

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

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.