]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/scrub: extract scrub backend code into separate classes
authorRonen Friedman <rfriedma@redhat.com>
Sun, 11 Apr 2021 18:17:41 +0000 (21:17 +0300)
committerRonen Friedman <rfriedma@redhat.com>
Sat, 22 Jan 2022 08:59:59 +0000 (08:59 +0000)
commit1fdf23b4bc22af45940920add64350d4c58e9802
tree3882baa8be549e473427679f0ab6989036d85d12
parentf23e1ba25fbea4594287a77f56433b4a8aefa56c
osd/scrub: extract scrub backend code into separate classes

A refactoring of the scrub backend code (all Scrub related code
that checks/manipulates objects' (meta)data).

Part of the refactoring was breaking long chunks of code into
separate functions. In order to avoid passing endless lists
of state parameters from/to these new methods, the scrub backend
state is now maintained within its own objects.

a change to note:
Instead of two scrub-map collections - one that holds all
incoming maps, and one that holds pointers to all of those incoming
plus the one we (the Primary) manage - just use one collection
for both incoming and our own.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Split from "osd/scrub: minor fixes split from main "scrub backend" commit"

Split from "osd/scrub: scrub components embedded documentation"

fix

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
osd/scrub: fix the scrubber backend to include all PR #42735

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
19 files changed:
src/common/hobject_fmt.h
src/common/scrub_types.cc
src/common/scrub_types.h
src/include/object_fmt.h [new file with mode: 0644]
src/include/types_fmt.h
src/osd/CMakeLists.txt
src/osd/PG.cc
src/osd/PG.h
src/osd/PGBackend.cc
src/osd/PGBackend.h
src/osd/osd_types.cc
src/osd/osd_types.h
src/osd/osd_types_fmt.h
src/osd/scrubber/PrimaryLogScrub.cc
src/osd/scrubber/PrimaryLogScrub.h
src/osd/scrubber/pg_scrubber.cc
src/osd/scrubber/pg_scrubber.h
src/osd/scrubber/scrub_backend.cc [new file with mode: 0644]
src/osd/scrubber/scrub_backend.h [new file with mode: 0644]