Project

General

Profile

Actions

Feature #2718

closed

librbd: map parent -> child in a per-pool rbd_children object when cloning

Added by Josh Durgin almost 12 years ago. Updated over 11 years ago.

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

0%

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

Related issues 1 (0 open1 closed)

Blocked by rbd - Feature #2717: cls_rbd: add methods for maintaining mapping from parent to child imagesResolvedDan Mick07/05/2012

Actions
Actions #1

Updated by Josh Durgin almost 12 years ago

  • Target version deleted (v0.50)
Actions #2

Updated by Sage Weil almost 12 years ago

  • Target version set to v0.50
  • Translation missing: en.field_position set to 1324
Actions #3

Updated by Sage Weil almost 12 years ago

  • Translation missing: en.field_story_points set to 1
  • Translation missing: en.field_position deleted (1324)
  • Translation missing: en.field_position set to 1324
Actions #4

Updated by Sage Weil almost 12 years ago

  • Target version deleted (v0.50)
  • Translation missing: en.field_position deleted (1323)
  • Translation missing: en.field_position set to 2
Actions #5

Updated by Sage Weil almost 12 years ago

  • Translation missing: en.field_position deleted (7)
  • Translation missing: en.field_position set to 4
Actions #6

Updated by Anonymous almost 12 years ago

  • Translation missing: en.field_position deleted (9)
  • Translation missing: en.field_position set to 7
Actions #7

Updated by Anonymous almost 12 years ago

  • Translation missing: en.field_position deleted (7)
  • Translation missing: en.field_position set to 2
Actions #8

Updated by Anonymous almost 12 years ago

  • Assignee set to Dan Mick
Actions #9

Updated by Dan Mick almost 12 years ago

From the design doc:

In addition to knowing which parent a given image has, we want to be able to tell if a protected snapshot still has children. This is accomplished with a new per-pool object, rbd_children, which maps (parent pool id, parent image id, parent snapshot id) to a list of child image ids. This is stored in the same pool as the child image because the client creating a clone already has read/write access to everything in this pool, but may not have write access to the parent’s pool. This lets a client with read-only access to one pool clone a snapshot from that pool into a pool they have full access to. It increases the cost of unprotecting an image, since this needs to check for children in every pool, but this is a rare operation. It would likely only be done before removing old images, which is already much more expensive because it involves deleting every data object in the image.

Actions #10

Updated by Dan Mick almost 12 years ago

  • Status changed from New to 12
Actions #11

Updated by Anonymous over 11 years ago

  • Target version set to v0.51
  • Translation missing: en.field_position deleted (10)
  • Translation missing: en.field_position set to 9
Actions #12

Updated by Josh Durgin over 11 years ago

  • Status changed from 12 to Fix Under Review
Actions #13

Updated by Sage Weil over 11 years ago

  • Status changed from Fix Under Review to Resolved
  • Translation missing: en.field_position deleted (21)
  • Translation missing: en.field_position set to 21
Actions

Also available in: Atom PDF