- only start OSDs if mon daemons are also present
- adds support for mask and unmask
- removes support for cluster with non default cluster name,
as this was very limited and inconsistent
- Reapplied from a patch as could not cherry-pick
66cb46c411 from Mon Jan 12
as this produced issues with src/gmock
Signed-off-by: Owen Synge <osynge@suse.com>
Limit calls to _is_readable to places where the
readableness can actually have changed (on assimilate_prefetch
where it can go true, and in try_read_entry where it
can go false). Elsewhere, return a cached
result (Journaler::readable).
Signed-off-by: John Spray <john.spray@redhat.com>
Previously we just *detected* it in _is_readable
and raise a buffer::error. Now actually catch that
exception and pass up to outer error handling.
Signed-off-by: John Spray <john.spray@redhat.com>
So that the procedure around setting STATE_BADFRAG
on a CDir can be used from other forthcoming error
handling.
Signed-off-by: John Spray <john.spray@redhat.com>
Move the dentry decoding into _load_dentry
so that it can subsequently be wrapped
with error handling.
Signed-off-by: John Spray <john.spray@redhat.com>
Instead of recreating them, go damaged. Be warned,
the codepath for recreating them by hand doesn't
exist yet (cephfs-data-scan doesn't touch stray
dirs)
Signed-off-by: John Spray <john.spray@redhat.com>
This was trying to check for standby replay
by testing is_readonly(), but that's always
true during normal replay. Check mds->is_standby_replay()
instead.
Signed-off-by: John Spray <john.spray@redhat.com>
In certain cases, the beacon was emitted from within
handle_mds_map (via MDCache::rejoin_start and
the "No subtrees found for root MDS rank!" error
handler. This was happening before Beacon::notify_mdsmap
had been called with the new epoch, so the DAMAGED
beacon had the old epoch set, and was consequently
ignored by the MDSMonitor.
The symptom would be that MDS ranks with metadata damaged
in this particular way would flap instead of gracefully
going damaged.
Signed-off-by: John Spray <john.spray@redhat.com>
Fixes case where if dirfrag object missing, ::fetch
would leave in a complete+badfrag state, and
subsequent retryopenroot would hit !is_complete()
assertion on fetch.
Signed-off-by: John Spray <john.spray@redhat.com>
Cache writeback operations will expect the owner lock to be held.
Fixes: #11938
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Avoid sending this to mons that don't support the feature or else they
will reset the connection and we'll go into a busy reconnect loop.
Fixes: #12064
Signed-off-by: Sage Weil <sage@redhat.com>