ReplicatedPG: do not preserve op context during flush

Any information stashed in the OpContext may be obsolete by the time we
actually mark the object clean.  Instead, let the start_flush caller
clean up its OpContext and in try_flush_mark_clean we'll create a new
one.  The primary reason to keep the OpContext would have been locking,
but we can set the obc as blocking without holding an OpContext, and
that would allow trimming to happen in the mean time (which is good
since trim_object does not respect rw locks since it doesn't change user
visible state).  In try_flush_mark_clean, we requeue the fop->op along
with (but ahead of) the fop->dup_ops.

Fixes: #8068
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit d83b8f58513e86c68aa6c25d4f909d9a3c4a103e)
ReplicatedPG: we can get EAGAIN on missing clone flush

Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 060105c313c5b4a777c55f17115eeb95ebb17117)
Merge pull request #1744 from ceph/wip-8161

ECBackend::continue_recovery_op: handle a source shard going down

Reviewed-by: Sage Weil <sage@inktank.com>
ECBackend::continue_recovery_op: handle a source shard going down

get_min_avail_to_read_shards might return an error if there are
no longer enough sources to reconstruct the missing shards.
This is possible if osds went down while we were writing the
previous chunk -- we already notice in check_recovery_sources
if a source goes down during a read.

Fixes: #8161
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 1885792c517670086332a8bab237c58558ee6dda)
Merge pull request #1745 from ceph/wip-7941

rados.h,ReplicatedPG: add CEPH_OSD_FLAG_ENFORCE_SNAPC and use on flush

Reviewed-by: Sage Weil <sage@inktank.com>
rados.h,ReplicatedPG: add CEPH_OSD_FLAG_ENFORCE_SNAPC and use on flush

We need to ensure that even with pool snaps, we use the snapc provided in order
to ensure that the clones are written back correctly.

Fixes: #7941
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 499adb1db1cd225c91acce31b5f48fad5145043b)
ReplicatedPG: block scrub on blocked object contexts

Fixes: #8011
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
ReplicatedPG: block scrub on blocked object contexts

Fixes: #8011
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e66f2e36c06ca00c1147f922d3513f56b122a5c0)
doc: documenting links to get-involved
Create a link from documenting-ceph so that it is easy to find the
github repository used for ceph.

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
Fixes a very minor typo in the release notes

pyramind -> pyramid
Merge pull request #1750 from nereocystis/doc-link-to-involved

doc: documenting links to get-involved
doc/release-notes: final v0.67.8 notes and changelog

Signed-off-by: Sage Weil <sage@inktank.com>
doc/release-notes: changelog link

Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #1738 from ceph/wip-8147

osd: automatically scrub PGs with invalid stats

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
mds: bump protocol

In commit f689e5f049736bb0a0fa437e05936f6c1b9c1bb6 we change the encoding
and semantics for MDiscoverReply.

Signed-off-by: Sage Weil <sage@inktank.com>
mds: remove mdsdir in the final step of shutdown MDS

Otherwise we may get bad subtree map if we restart the MDS before
the shutdown process finishes.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: note MDiscoverReply encoding change in corpus

Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #1749 from hufman/fix-typo-releasenotes-pyramind

Fixes a very minor typo in the release notes

Reviewed-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
doc: Include links from hardware-recommendations to glossary
Included :term: in parts of hardware-recommendations so that glossary
links appear.
Signed-off-by: Kevin Dalley <kevin@kelphead.org>
Merge pull request #1751 from ceph/wip-mds-shutdown

mds: remove mdsdir in the final step of shutdown MDS

Reviewed-by: Sage Weil <sage@inktank.com>