jewel: mds: Duplicate damage table entries #11412

Merged
merged 1 commit into from Oct 17, 2016

Projects

None yet

2 participants

@jcsp @ldachary jcsp mds: catch duplicates in DamageTable
There was an implicit assumption in the code that callers
wouldn't hit the notify_*damaged paths twice because they would
have checked is_*_damaged paths first.

However, that's not really true in all cases, e.g. scrub
code isn't required to respect existing damage entries
when trying to load a CDir.

Simply fix this by having the DamageTable notify* functions
check the key they're inserting doesn't already exist.

Fixes: http://tracker.ceph.com/issues/17173
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit c9cfaef)
3320da0
@dachary dachary self-assigned this Oct 11, 2016
@dachary dachary added this to the jewel milestone Oct 11, 2016
@dachary dachary added bug fix core cephfs and removed core labels Oct 11, 2016
@dachary
Member
dachary commented Oct 14, 2016

@jcsp does this backport look good to merge ? It passed the fs suite http://tracker.ceph.com/issues/17487#note-13 (except for one known bug that is, I believe, unrelated)

@jcsp jcsp was assigned by dachary Oct 14, 2016
@jcsp
Contributor
jcsp commented Oct 17, 2016

👍

@dachary dachary merged commit c7b7f2e into ceph:jewel Oct 17, 2016

2 checks passed

Signed-off-by all commits in this PR are signed
Details
default Build finished.
Details
@theanalyst theanalyst changed the title from jewel: Duplicate damage table entries to "jewel: mds: Duplicate damage table entries" Nov 17, 2016
@theanalyst theanalyst changed the title from "jewel: mds: Duplicate damage table entries" to jewel: mds: Duplicate damage table entries Nov 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment