doc/rados/configuration: update to be in sync with ConfUtils changes
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
* refs/pull/28865/head:
mon/OSDMonitor: fix _lookup_snap to verify the pool matches
ceph_test_rados_api_*: make failing to clean up namespace non-fatal
osd: store purged_snaps history under separate object
Reviewed-by: Samuel Just <sjust@redhat.com>
* refs/pull/28864/head:
doc/releases/releases.yaml: set target EOL to Jun 1 for L and M
doc/releases: update schedule to describe a 12-month cycle
Reviewed-by: Noah Watkins <nwatkins@redhat.com>
If we leak snaps, failing to clean up a namespace can happen and won't
get fixed until we scrub purged_snaps. Make this a non-fatal condition.
Signed-off-by: Sage Weil <sage@redhat.com>
We can't put this in the snapmapper object because filestore does not
allow multiple concurrent omap iterators on the same object. (This is a
limitation that could be fixed with some read/write locking, but not
without some significant changes to DBObjectMap; since that is old crufty
legacy code let's avoid touching it!)
Signed-off-by: Sage Weil <sage@redhat.com>
the dashboard requires python-routes via cherrypy/_cpdispatch.py during runtime
but the cherrypy debian package only recommends it and doesn't depend on it
Fixes: https://tracker.ceph.com/issues/24420
Signed-off-by: Paul Emmerich <paul.emmerich@croit.io>
* refs/pull/28782/head:
common/options.cc: Lower the default value of osd_deep_scrub_large_omap_object_key_threshold
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
* refs/pull/28330/head:
osd: drop osd_lock during scrub
ceph_test_rados_api_tier_pp: tolerate ENOENT or success from deleted snap
osd: automatically scrub purged_snaps every deep scrub interval
osd: move scrub_purged_snaps to helper
osd/OSDMap: SERVER_OCTOPUS feature bit is now significant
ceph_test_rados_api_snapshots_pp: drop unnecessary assert
mon/OSDMonitor: record last_purged_snaps_scrub from beacon to osdmap
osd: report last_purged_snaps_scrub as part of beacon
osd: log purged_snaps scrub to cluster log
osd: record last_purged_snaps_scrub in superblock
osd/OSDMap: add last_purged_snaps_stamp to osd_xinfo_t
mon/OSDMonitor: fix bug in try_prune_purged_snaps
mon/OSDMonitor: record snap removal seq as purged
mon/OSDMonitor: do not bother reporting gaps in removed_snaps
osdc/Objecter: don't worry about gap_removed_snaps from map gaps
mds/SnapServer: make not about pre-octopus compat code
osd: implement scrub_purged_snaps command
osd/PrimaryLogPG: always remove the snap we are trimming
ceph_test_rados_api_snapshots_pp: (partial) test to reproduce stray clones
osd: sync old purged_snaps on startup after upgrade or osd creation
osd: record purged_snaps when we store new maps
mon/OSDMonitor: add messages to get past purged_snaps
mon/OSDMonitor: record pre-octopus purged snaps with first octopus map
mon/OSDMonitor: record purged_snaps for each epoch
mon/OSDMonitor: make_snap_epoch_key -> make_removed_snap_epoch_key
osd/osd_types: add purged_snaps_last to OSDSuperblock
osd/osd_types: clean up initial values for OSDSuperblock
mon/OSDMonitor: make {removed,purged}_snap storage more efficient
mon/OSDMonitor: move (removed, purged) snap update into a helper
mon/OSDMonitor: generalize/refactor lookup_*_snap
mon/OSDMonitor: refactor snap key and value helpers
mon/OSDMonitor: make_snap_key -> make_removed_snap_key, make_purged_snap_key
mon/OSDMonitor: fix lookup_purged_snap implementation
mon/OSDMonitor: lookup_pruned_snap -> lookup_purged_snap
osd: adjust snapmapper keys on first start as octopus
osd/SnapMapper: include poolid in snap index
mon/OSDMonitor: document osd snap metadata format
osd/SnapMapper: document stored keys and values
mon/OSDMonitor: use structured binding for prepare_remove_snaps
mon/OSDMonitor: send MRemoveSnaps back to octopus MDS
mds/SnapServer: handle MRemoveSnaps acks from mon
CMakeLists: include 'cephfs' (which includes libcephfs) in 'vstart' target
mon/PaxosService: add C_ReplyOp
vnewosd.sh: add script to add a new osd to an existing vstart
vstart.sh: remove useless auth add for osds
vstart.sh: wait for mgr volume module to start up
mon/OSDMonitor: make snap removal handle dups safely
mon/OSDMonitor: only update removed_snaps when pre-octopus
ceph_test_rados: stop doing long object names
ceph_test_rados_api_tier_pp: fix osd version checks
osd/PrimaryLogPG: use get_ssc_as_of for snapc for flushing clones
osd/PrimaryLogPG: only maintain SnapSet::snaps for pre-octopus compat
mon/OSDMonitor: only maintain pg_pool_t::removed_snaps for pre-octopus
osd/osd_types: mark SnapSet::snaps as legacy
osd/osd_types: SnapSet::get_ssc_as_of: use clone_snaps
osd/PrimaryLogPG: change fabrication of promoted clone snaps
osd/PrimaryLogPG: only filter SnapSet::snaps for flush for pre-octopus compat
osd/PrimaryLogPG: trim_objects: only filter SnapSet::snaps for pre-octopus
osd/PrimaryLogPG: make best effort to sanitize clones on copy-from
mds/SnapServer: int -> int32_t for encoded type
messages/MRemoveSnaps: int -> int32_t on encoded type
osd/PrimaryLogPG: find_object_context: trust SnapSet's clone_snaps
osd/PrimaryLogPG: use osdmap removed_snaps_queue for snap trimming
mon/OSDMonitor: avoid is_removed_snap()
osd/PeeringState: drop some mimic conditionals
osd/PG: drop pre-mimic snap_trimq code
osd/PeeringState: removed pre-mimic removed snap tracking
osd: move snap_interval_set_t to osd_types
mon: drop mon_debug_no_require_mimic
mon/OSDMonitor: remove pre-mimic snap behavior support
mon/OSDMonitor: remove support for pre-mimic conversion
osd/osd_types: remove build_removed_snaps(), maybe_update_removed_snaps()
osd: remove luminous compat code for removed_snaps
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
mgr/dashboard: Pool list shows current r/w byte usage in graph
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
* glibc offers two variants of basename(). one modifies the content of
`path`, the other does not. to be standard compliant, and to fix
the FTBFS with musl-libc, we need to use the POSIX variant.
* #include <libgen.h> for basename(3), the POSIX compliant one.
see
http://pubs.opengroup.org/onlinepubs/009695399/functions/basename.html
Signed-off-by: Kefu Chai <kchai@redhat.com>
We do not want to hold osd_lock while calling apply_transaction or else
we may cause a deadlock due to a completion event that needs osd_lock.
Also, we don't need to hold the lock here, so don't.
Signed-off-by: Sage Weil <sage@redhat.com>
With randomization.
We do this from tick() for simplicity. It is a rare event, will take 10s
of seconds at most, and nothing else particularly time-sensitive is
happening from tick().
Signed-off-by: Sage Weil <sage@redhat.com>