Feature #10154
closed
librbd: use early snapshot context for copyup operations so snapshots of clones don't depend on parents
Added by Josh Durgin over 9 years ago.
Updated almost 9 years ago.
Description
If we send the copyup operation with a snapshot context with an empty list of snap ids and a snap seq before the earliest snapshot id in the clone, the osd will treat it as an old write and will logically replace all versions of the object that did not exist. From rbd's perspective, it makes that object no longer depend on the parent image in any snapshot.
This would let flatten remove the parent->clone dependency even when the clone has snapshots, which makes managing clones much simpler.
- Assignee set to Jason Dillaman
- Tracker changed from Bug to Feature
- Assignee deleted (
Jason Dillaman)
After testing and confirmation with the core team, early snapshot contexts cannot be used once an object has been written with a later snapshot context. The best alternative would require modifying the existing copy-up cases to send the earlier snapshot context. Additionally, special care needs to be taken to support the resize down case since you wouldn't want objects from the parent bleeding over into the child past the new overlap. This will require a new incompatible R/W RBD feature bit to prevent older RBD clients from modifying the image when using this new flatten logic.
- Status changed from New to Fix Under Review
- Assignee set to Jason Dillaman
- Target version set to v9.0.3
- Target version changed from v9.0.3 to v9.0.2
- Status changed from Fix Under Review to Resolved
Also available in: Atom
PDF