Skip to content

osd: fix missing adjacent snaps when handling manifest object#39670

Merged
tchaikov merged 2 commits intoceph:masterfrom
myoungwon:wip-fix-missing-snap-manifest
Mar 12, 2021
Merged

osd: fix missing adjacent snaps when handling manifest object#39670
tchaikov merged 2 commits intoceph:masterfrom
myoungwon:wip-fix-missing-snap-manifest

Conversation

@myoungwon
Copy link
Member

@myoungwon myoungwon commented Feb 24, 2021

The manifest object needs adjacent clones to increment/decrement
refcount when acessing the object. So, recover the clones first
if there are missing clones.

Fixes: https://tracker.ceph.com/issues/49427

Signed-off-by: Myoungwon Oh myoungwon.oh@samsung.com

@github-actions github-actions bot added the core label Feb 24, 2021
At the end of unit test, flush and evict are called.
But, those ops affect manifest object because
cache_mode is not set to NONE sometime.

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsumg.com>
The manifest object needs adjacent clones to increment/decrement
refcount when modifying the object. So, recovering the clones is needed
if the adjacent clones are unreadable.

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsumg.com>
@myoungwon myoungwon force-pushed the wip-fix-missing-snap-manifest branch from d275549 to b242a2c Compare February 25, 2021 01:45
@myoungwon
Copy link
Member Author

@athanatos hmm.. What do you think?

@athanatos
Copy link
Contributor

athanatos commented Feb 25, 2021

This might work, but I'm going to have to go through this carefully. I will note, however, that this is relatively rare and failing to release the top level reference is actually safe by design -- maybe we just let the reference leak in this case as we would if an interval change happened (am I right about this)? I'm wrong -- we can leave an extra reference on the target pool, but I think this adjustment is actually mandatory. I'll take a closer look this evening or monday.

@athanatos athanatos self-requested a review March 1, 2021 19:11
@athanatos
Copy link
Contributor

I think this should work.

Copy link
Contributor

@athanatos athanatos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM pending a test run (also, remove the WIP:)

@myoungwon myoungwon changed the title WIP: osd: fix missing adjacent snaps when handling manifest object osd: fix missing adjacent snaps when handling manifest object Mar 2, 2021
@tchaikov tchaikov self-assigned this Mar 10, 2021
@tchaikov
Copy link
Contributor

the failures are tracked by https://tracker.ceph.com/issues/49726

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants