Project

General

Profile

Actions

Feature #1480

closed

librbd: image locking

Added by Sage Weil over 12 years ago. Updated almost 12 years ago.

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

0%

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

Description

Implement cooperative locking of RBD images (coordinated on the header, of course). Write public class functions to support both exclusive and shared locking, to list lock holders, and to let third parties remove locks. Then implement corresponding librbd functions, and write tests for the new functionality.
Support having multiple locks from the same entity (ie, multiple VMs on the same KVM host) by storing lockers as both the entity and a request-defined cookie.

Actions #1

Updated by Sage Weil over 12 years ago

  • Target version set to v0.38
Actions #2

Updated by Sage Weil over 12 years ago

  • Target version deleted (v0.38)
  • Translation missing: en.field_position set to 43
Actions #3

Updated by Sage Weil over 12 years ago

  • Translation missing: en.field_position deleted (54)
  • Translation missing: en.field_position set to 36
Actions #4

Updated by Sage Weil almost 12 years ago

  • Translation missing: en.field_position deleted (364)
  • Translation missing: en.field_position set to 20
Actions #5

Updated by Sage Weil almost 12 years ago

  • Subject changed from rbd: EBUSY locking to rbd: image locking
  • Translation missing: en.field_position deleted (20)
  • Translation missing: en.field_position set to 20
Actions #6

Updated by Sage Weil almost 12 years ago

lock(entity)
unlock(entity)

new code should lock before open, unlock on close.

the rbd map tool have 'lock list', 'lock add', 'lock break' commands (maybe better verbs tho?).

a paranoid user can blacklist a node they are breaking the lock for before breaking it, to ensure they don't corrupt the image.

Actions #7

Updated by Sage Weil almost 12 years ago

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

Updated by Greg Farnum almost 12 years ago

  • Assignee set to Greg Farnum
Actions #9

Updated by Greg Farnum almost 12 years ago

  • Description updated (diff)
Actions #10

Updated by Greg Farnum almost 12 years ago

  • Description updated (diff)
Actions #11

Updated by Sage Weil almost 12 years ago

  • Target version set to v0.49
  • Translation missing: en.field_position deleted (29)
  • Translation missing: en.field_position set to 1313
Actions #12

Updated by Sage Weil almost 12 years ago

  • Translation missing: en.field_story_points set to 5
  • Translation missing: en.field_position deleted (1313)
  • Translation missing: en.field_position set to 1313
Actions #13

Updated by Sage Weil almost 12 years ago

  • Target version deleted (v0.49)
  • Translation missing: en.field_position deleted (1314)
  • Translation missing: en.field_position set to 2
Actions #14

Updated by Sage Weil almost 12 years ago

  • Target version set to v0.49
  • Translation missing: en.field_position deleted (3)
  • Translation missing: en.field_position set to 1316
Actions #15

Updated by Sage Weil almost 12 years ago

  • Subject changed from rbd: image locking to librbd: image locking
  • Translation missing: en.field_position deleted (1316)
  • Translation missing: en.field_position set to 1316
Actions #16

Updated by Greg Farnum almost 12 years ago

  • Status changed from New to Fix Under Review

wip-rbd-locking

Actions #17

Updated by Greg Farnum almost 12 years ago

And after thorough review from Josh, this should be ready for merge (commit:5b1b02b60a253092700f364dca77bb6b1065e3e0). But I'm holding off because I don't know if we want to set up a plan for rbd merges this sprint.

Actions #18

Updated by Greg Farnum almost 12 years ago

  • Status changed from Fix Under Review to Resolved

Okay, discussed and merged in commit:dac9f223598c5f67b228403e514f202280d56488

Actions #19

Updated by Sage Weil almost 12 years ago

  • Project changed from Ceph to rbd
  • Category deleted (librbd)
Actions #20

Updated by Sage Weil almost 12 years ago

  • Target version deleted (v0.49)
Actions #21

Updated by Sage Weil almost 12 years ago

  • Target version set to v0.49
Actions

Also available in: Atom PDF