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

Conversation

dillaman
Copy link

@dillaman dillaman commented Mar 2, 2016

The journal tags are used to delineate epochs within an image.

@jdurgin
Copy link
Member

jdurgin commented Mar 8, 2016

lgtm

Jason Dillaman added 12 commits March 8, 2016 09:03
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>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
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>
The remote pool name should match the remote pool name.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
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>
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>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
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>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman added 2 commits March 8, 2016 10:35
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
@dillaman dillaman added this to the jewel milestone Mar 8, 2016
jdurgin added a commit that referenced this pull request Mar 9, 2016
librbd: allocate new journal tag after acquiring exclusive lock

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
@jdurgin jdurgin merged commit 55efa7a into ceph:master Mar 9, 2016
@dillaman dillaman deleted the wip-14663 branch March 9, 2016 22:05
jdurgin added a commit that referenced this pull request Mar 9, 2016
journal: re-use common threads between journalers

Conflicts:
	src/journal/JournalPlayer.cc
	src/librbd/Journal.cc
	src/test/rbd_mirror/image_replay.cc
	src/tools/rbd_mirror/ImageReplayer.h
	src/tools/rbd_mirror/Mirror.cc

(merged interface changes to ImageReplayer, and reduced scope for
change to JournalPlayer due to pr #7884 (wip-14663)).

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants