Project

General

Profile

Actions

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.

Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

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.

Actions #1

Updated by Jason Dillaman over 9 years ago

  • Assignee set to Jason Dillaman
Actions #2

Updated by Jason Dillaman over 9 years ago

  • 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.

Actions #3

Updated by Jason Dillaman about 9 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to Jason Dillaman
Actions #4

Updated by Sage Weil almost 9 years ago

  • Target version set to v9.0.3
Actions #5

Updated by Sage Weil almost 9 years ago

  • Target version changed from v9.0.3 to v9.0.2
Actions #6

Updated by Josh Durgin almost 9 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF