Project

General

Profile

Bug #4868

rbd: kill off the snapshot list

Added by Alex Elder almost 7 years ago. Updated almost 7 years ago.

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

100%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

We no longer use the snapshot list for anything. When we need to
look up a snapshot name, id, size, or feature mask, we just do it
directly rather than relying on this list being updated with every
refresh. The main reason it existed was for the benefit of the
device/sysfs entries that previously were associated with snapshots.

So get rid of the snapshot list, and the hundreds of lines of code
that supported it.

Signed-off-by: Alex Elder <>


Subtasks

Bug #4880: krbd: clear EXISTS flag if mapped snapshot disappearsResolvedAlex Elder

History

#1 Updated by Alex Elder almost 7 years ago

  • Status changed from In Progress to Fix Under Review

The following have been posted for review. They are
available in the "review/wip-rbd-cleanup-6" branch of
the ceph-client git repository.

An rbd device structure maintains a list of snapshot
structures whose purpose is to cache the name, size,
and features associated with a snapshot id. The main
reason it was needed was related to the presence of
Linux device information for snapshots, which we
no longer have. We can look up the name, etc. "on
the fly" about as easily as we can using the list,
and getting rid of this list means we can eliminate
a substantial bit of code.

The final patch in this series gets rid of the snapshot
list and the rbd_snap structure. The first three put
in place replacement functionality that doesn't require
the list.

-Alex

[PATCH 1/4] rbd: look up snapshot name in names buffer
[PATCH 2/4] rbd: use snap_id not index to look up snap info
[PATCH 3/4] rbd: define rbd_snap_size() and rbd_snap_features()
[PATCH 4/4] rbd: kill off the snapshot list

#2 Updated by Anonymous almost 7 years ago

  • Project changed from Ceph to rbd
  • Target version deleted (v0.62b)

#3 Updated by Alex Elder almost 7 years ago

  • Status changed from Fix Under Review to Resolved

The following have been committed to the "testing" branch
of the ceph-client git repository:

1fbd6ca rbd: look up snapshot name in names buffer
a3dabea rbd: use snap_id not index to look up snap info
c666617 rbd: define rbd_snap_size() and rbd_snap_features()
17e4749 rbd: kill off the snapshot list

#4 Updated by Alex Elder almost 7 years ago

  • Target version set to v0.62b

Also available in: Atom PDF