Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os/ObjectStore: properly clear object map when replaying OP_REMOVE #11388

Merged
merged 2 commits into from
Oct 24, 2016

Commits on Oct 13, 2016

  1. os/ObjectStore: properly clear object map when replaying OP_REMOVE

    To remove an object, filestore needs to unlink corresponding object
    file from filesystem and removes corresponding object keys from
    DBObjectMap. When replaying OP_REMOVE operation, it's possible the
    operation has completed partially, object file has been deleted, but
    object keys in DBObjectMap hasn't.
    
    The fix is force clear object keys if object file does not exists
    
    Fixes: http://tracker.ceph.com/issues/17177
    Signed-off-by: Yan, Zheng <zyan@redhat.com>
    ukernel committed Oct 13, 2016
    Configuration menu
    Copy the full SHA
    3223378 View commit details
    Browse the repository at this point in the history
  2. os/ObjectStore: properly clone object map when replaying OP_COLL_MOVE…

    …_RENAME
    
    FileStore::_close_replay_guard does not sync the object map. If OSD
    crashes while executing FileStore::_collection_move_rename, it's
    possible that the replay guard is set, but the object map map update
    gets lost. When recovering, OSD checks the replay guard and does
    nothing.
    
    The fix is sync the object map in FileStore::_close_replay_guard()
    
    Signed-off-by: Yan, Zheng <zyan@redhat.com>
    ukernel committed Oct 13, 2016
    Configuration menu
    Copy the full SHA
    c66e466 View commit details
    Browse the repository at this point in the history