]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: allow limited scrub preemption
authorSage Weil <sage@redhat.com>
Fri, 19 Jan 2018 17:29:19 +0000 (11:29 -0600)
committerDavid Zafman <dzafman@redhat.com>
Fri, 18 May 2018 16:37:56 +0000 (09:37 -0700)
commitba6e67c846c22e10a859fe62c49b2e9896b3a5f8
tree1c012066adaa8a1b79bde66947e3c8a5cfb0c190
parent1d618cd6bc4fb81a5528cefb4d674f62a099e112
osd: allow limited scrub preemption

If we receive a write within the scrub range, abort the scrub chunk and
shrink the chunk size.  If we do this too many times do not preempt and
allow the scrub to complete (to avoid scrub starvation due to client io).

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 6dd42392c0f00011059ffa5de74cace7d1e911bd)

Conflicts:
src/messages/MOSDRepScrub.h
src/messages/MOSDRepScrubMap.h
src/osd/PrimaryLogPG.cc
src/osd/PrimaryLogPG.h

- encode vs ::encode etc
- dragged in waiting for scrub events from 508ea640e3b
- ignore change in chunked manifest code (which dne in luminous)
src/common/options.cc
src/messages/MOSDRepScrub.h
src/messages/MOSDRepScrubMap.h
src/osd/ECBackend.cc
src/osd/PG.cc
src/osd/PG.h
src/osd/PGBackend.h
src/osd/PrimaryLogPG.cc
src/osd/PrimaryLogPG.h
src/osd/ReplicatedBackend.cc