Permalink
Commits on Oct 9, 2017
  1. PG.h: remove some unnecessary virtual declarations

    athanatos authored and myoungwon committed May 31, 2016
    PG users do not need these public methods.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
    Signed-off-by: Kefu Chai <kchai@redhat.com>
    Signed-off-by: Myoungwon Oh <omwmw@sk.com>
Commits on Jun 7, 2017
  1. PG: set CLEAN if we have enough replicas

    athanatos authored and liewegas committed Feb 23, 2017
    Previously, we'd only set CLEAN if we were not also remapped, but we'd
    set last_epoch_clean anyway.  Unfortunately, that wasn't consistent with
    pg_stat_t::get_effective_last_epoch_clean() which requires that the
    CLEAN bit be set to continue trimming while the pg state isn't changing.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
  2. PG: only mark_clean if we are active and not just peered

    athanatos authored and liewegas committed Feb 23, 2017
    Fixes: http://tracker.ceph.com/issues/19023
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Apr 28, 2017
  1. test/osd/types: add tests specifically for prior set generation

    athanatos authored and liewegas committed Feb 11, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  2. test/osd/types.cc: fix check_new_interval test

    athanatos authored and liewegas committed Feb 11, 2017
    Removes the asserts relating to past_intervals state.
    They don't really make sense with the new representation,
    we'll add new tests for that next.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
  3. osd_types: refactor PriorSet so it can be tested without an OSDMap

    athanatos authored and liewegas committed Feb 2, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  4. osd_types: just pass last_epoch_started to PriorSet

    athanatos authored and liewegas committed Feb 2, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  5. osd_types: fill in generate_past_intervals for new types

    athanatos authored and liewegas committed Feb 2, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  6. osd_types: implement PastIntervals pi_compact_rep

    athanatos authored and liewegas committed Jan 20, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  7. PG: accommodate new past_intervals encoding

    athanatos authored and liewegas committed Jan 20, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  8. RadosDump: accommodate new past_intervals encoding

    athanatos authored and liewegas committed Jan 20, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  9. messages/: accomodate the new past_intervals encoding

    athanatos authored and liewegas committed Jan 6, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  10. osd_types: generalize PastIntervals to support multiple representations

    athanatos authored and liewegas committed Jan 20, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  11. osd/: hide pg_interval_t encoder

    athanatos authored and liewegas committed Jan 5, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  12. osd/: refactor past_intervals logic into PastIntervals

    athanatos authored and liewegas committed Jan 5, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  13. PG::GetInfo: remove logic for detecting intervals without complete peers

    athanatos authored and liewegas committed Dec 9, 2016
    c7d92d1 introduced this back when
    the acting set could contain incomplete peers during backfill.  That
    hasn't been true since dumpling.  Now, any interval where the acting
    set contains an incomplete peer cannot possibly go active.  Thus, it
    can't change last_epoch_started or history.last_epoch_started.  Thus,
    even though choose_acting omits incomplete peers, the answer can't
    change.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
  14. test/osd_types.cc: fix emacs line at the top

    athanatos authored and liewegas committed Feb 11, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Mar 27, 2017
  1. DBObjectMap: rewrite rm_keys and merge_new_complete

    athanatos authored and dzafman committed Feb 10, 2017
    Leverage the updated in_complete_region and needs_parent to simplify
    these methods.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
  2. DBObjectMap: strengthen in_complete_region post condition

    athanatos authored and dzafman committed Feb 10, 2017
    Previously, in_complete_region didn't guarantee anything about
    where it left complete_iter pointing.  It will be handy for
    complete_iter to be pointing at the lowest interval which ends
    after to_test.  Make it so.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
  3. DBObjectMap: fix next_parent()

    athanatos authored and dzafman committed Feb 10, 2017
    The previous implementation assumed that
    lower_bound(parent_iter->key()) always leaves the iterator
    on_parent().  There isn't any guarantee, however, that that
    key isn't present on the child as well.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
  4. test_object_map: add tests to trigger some bugs related to 18533

    athanatos authored and dzafman committed Feb 9, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Mar 8, 2017
  1. ReplicatedBackend: clear pull source once we are done with it

    athanatos authored and liewegas committed Feb 24, 2017
    68defc2 factored out the clear_pull
    behavoir, but we actually need to clear the pull source in
    handle_pull_response (even though we don't clear the pulling entry
    until the callback) so that we don't clear the pulling entry in
    check_recovery_sources.  This should restore the clearing behavior
    to basically what it was in kraken.
    
    Fixes: http://tracker.ceph.com/issues/19076
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Feb 24, 2017
  1. Merge pull request #13594 from athanatos/wip-snap-trim-sleep

    athanatos committed Feb 24, 2017
    osd: add snap trim reservation and re-implement osd_snap_trim_sleep
    
    Reviewed-by: Josh Durgin <jdurgin@redhat.com>
  2. Merge pull request #13570 from athanatos/wip-18937

    athanatos committed Feb 24, 2017
    osd: don't use ORDERSNAP for flush; always request/send ondisk ack
    
    Reviewed-by: Josh Durgin <jdurgin@redhat.com>
    Reviewed-by: Sage Weil <sage@redhat.com>
  3. osd,osdc: eliminate FLAG_ONDISK and helpers

    athanatos committed Feb 16, 2017
    The objecter actually always needs to get a response in order to
    be able to not continually resend ops (even if the caller didn't
    provide a callback).  Thus, it makes no sense for an MOSDOp to
    ever not have FLAG_ONDISK set.  Therefore, we'll just remove the
    helper and assume it's always there (it's safe to send a response
    the client didn't ask for, the error paths already do that).  On
    the Objecter side, we'll just unconditionally fill in ONDISK for
    the benefit of pre-luminous OSDs.
    
    Fixes: http://tracker.ceph.com/issues/18961
    Signed-off-by: Samuel Just <sjust@redhat.com>
  4. PrimaryLogPG::start_flush: don't use ORDERSNAP, eliminate the second …

    athanatos committed Feb 15, 2017
    …delete
    
    I think that whole thing was a misguided attempt to avoid deleting head
    if it exists in the base tier (in reality it doesn't matter since head
    would have to be logically dirty and anything we actually care about
    would be preserved by sending a new enough seq to cause a clone).
    
    Introduced in 4843fd5, but the real
    logical error happened in f3df501.
    
    I suggest never backporting this patch.  If you want to try, keep in
    mind that the last version didn't turn up as busted for 2 years.
    
    Fixes: f3df501
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Feb 21, 2017
  1. PrimaryLogPG: reimplement osd_snap_trim_sleep within the state machine

    athanatos committed Feb 21, 2017
    Rather than blocking the main op queue, just pause for that amount of
    time between state machine cycles.
    
    Also, add osd_snap_trim_sleep to a few of the thrasher yamls.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Feb 17, 2017
  1. ReplicatedBackend: don't queue Context outside of ObjectStore with obc

    athanatos committed Feb 14, 2017
    We only flush the ObjectStore callbacks, not everything else.  Thus,
    there isn't a guarrantee that the obc held by pull_complete_info will
    be cleaned up before the Flush callback is triggered.  Instead, just
    defer clearing the pull state until the callback (it'll be cleaned up
    during the interval change) and remove the ObjectContext from
    pull_complete_info.
    
    Introduced: 68defc2
    Fixes: http://tracker.ceph.com/issues/18927
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Feb 13, 2017
  1. rados: check that pool is done trimming before removing it

    athanatos committed Jan 26, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  2. osd/: add PG_STATE_SNAPTRIM[_WAIT] to expose snap trim state to user

    athanatos committed Jan 26, 2017
    Signed-off-by: Samuel Just <sjust@redhat.com>
  3. osd/PrimaryLogPG: limit the number of concurrently trimming pgs

    athanatos committed Feb 1, 2017
    This patch introduces an AsyncReserver for snap trimming to limit the
    number of pgs on any single OSD which can be trimming, as with backfill.
    Unlike backfill, we don't take remote reservations on the assumption
    that the set of pgs with trimming work to do is already well
    distributed, so it doesn't seem worth the implementation overhead to get
    reservations from the peers as well.
    
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Feb 10, 2017
  1. Merge pull request #13344 from gregsfortytwo/wip-osd-discussion-docs

    athanatos committed Feb 10, 2017
    Wip osd discussion docs
    
    Reviewed-by: Samuel Just <sjust@redhat.com>
  2. Merge pull request #13342 from athanatos/wip-17831-18583-18809

    athanatos committed Feb 10, 2017
    osd/: don't leak context for Blessed*Context or RecoveryQueueAsync
    
    Reviewed-by: Kefu Chai <kchai@redhat.com>
    Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Commits on Feb 3, 2017
  1. osd/: don't leak context for Blessed*Context or RecoveryQueueAsync

    athanatos committed Feb 3, 2017
    This has always been a bug, but until
    68defc2, nothing deleted those contexts
    without calling complete().
    
    Fixes: http://tracker.ceph.com/issues/18809
    Bug shadowed until: 68defc2
    Signed-off-by: Samuel Just <sjust@redhat.com>
Commits on Jan 26, 2017
  1. test/pybind/test_rados.py: tolerate empty output from mon ping

    athanatos committed Jan 14, 2017
    Fixes: http://tracker.ceph.com/issues/18529
    Signed-off-by: Samuel Just <sjust@redhat.com>