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

librbd: allocate new journal tag after acquiring exclusive lock #7884

Merged
merged 14 commits into from Mar 9, 2016

Commits on Mar 8, 2016

  1. cls_rbd: support for uuid to represent a mirrored pool

    This uuid will be used as the client id for remote peer image
    journals.  This will allow the uuid to be also utilized within
    the librbd journal tag for tracking epoch ownership.
    
    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    174359b View commit details
    Browse the repository at this point in the history
  2. librbd: allocate new uuid when enabling mirroring

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    9892fd7 View commit details
    Browse the repository at this point in the history
  3. librbd: update journal client and tag data structures

    The mirror peer now holds remote's image id as well as a collection
    of bootstrap sync points.  The tag now contains uuids to map back
    to the owning pool.
    
    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    dbcbaa6 View commit details
    Browse the repository at this point in the history
  4. rbd-mirror: local pool id no longer stored in client registration

    The remote pool name should match the remote pool name.
    
    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    708c72c View commit details
    Browse the repository at this point in the history
  5. journal: helper method to retrieve in-memory client data

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    a4dd788 View commit details
    Browse the repository at this point in the history
  6. librbd: add tag handling to journal state machine

    The journal will not retrieve the tag class for the image within
    the journal in addition to the most recently allocated tag. Also
    added helper methods to allocate new tags.
    
    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    cbcfedf View commit details
    Browse the repository at this point in the history
  7. librbd: allocate new journal tag when acquiring exclusive lock

    The journal tag tracks a write epoch within the image, so before
    allowing writes to proceed, ensure the journal entries will be
    stored under a new epoch.
    
    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    16d5e69 View commit details
    Browse the repository at this point in the history
  8. librbd: improved debugging for journal client / tag processing

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    8444da8 View commit details
    Browse the repository at this point in the history
  9. journal: additional debug messages surrounding commit updates

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    3325b87 View commit details
    Browse the repository at this point in the history
  10. journal: properly handle tag transition

    Now that the tag concept has been re-used for delineating epochs for
    librbd, we need playback to properly handle the cases where the active
    playback tag abruptly ends and a newer tag is inserted in the first
    splay offset object.
    
    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    21d9595 View commit details
    Browse the repository at this point in the history
  11. tests: updated test cases for librbd journal tag allocation

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    b710374 View commit details
    Browse the repository at this point in the history
  12. journal: clean up playback notification handling

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    b37f135 View commit details
    Browse the repository at this point in the history
  13. test: fix errors introduced by rebase to master

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    3982895 View commit details
    Browse the repository at this point in the history
  14. journal: possible race condition during fetch playback

    Signed-off-by: Jason Dillaman <dillaman@redhat.com>
    Jason Dillaman committed Mar 8, 2016
    Copy the full SHA
    4ded44a View commit details
    Browse the repository at this point in the history