Skip to content

nautilus: librbd: fix sporadic failures in TestMigration.StressLive#41788

Merged
yuriw merged 2 commits intoceph:nautilusfrom
trociny:wip-48565-nautilus
Jun 16, 2021
Merged

nautilus: librbd: fix sporadic failures in TestMigration.StressLive#41788
yuriw merged 2 commits intoceph:nautilusfrom
trociny:wip-48565-nautilus

Conversation

@trociny
Copy link
Contributor

@trociny trociny commented Jun 9, 2021

backport tracker: https://tracker.ceph.com/issues/48565


backport of #38494
parent tracker: https://tracker.ceph.com/issues/45694

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/master/src/script/ceph-backport.sh

Jason Dillaman added 2 commits June 9, 2021 15:21
This initial version subsumes the original "flatten" boolean flag.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit e79f6b1)

Conflicts:
	src/librbd/deep_copy/ImageCopyRequest.cc (FunctionContext vs LambdaContext, no handler param for ObjectCopyRequest)
	src/librbd/deep_copy/ObjectCopyRequest.cc
	src/librbd/deep_copy/ObjectCopyRequest.h
	src/librbd/io/CopyupRequest.cc
	src/librbd/operation/MigrateRequest.cc
	src/test/librbd/deep_copy/test_mock_ImageCopyRequest.cc
	src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc
	src/test/librbd/io/test_mock_CopyupRequest.cc
                (no handler param for ObjectCopyRequest)
The migration operation and the copyup state machine will set
this flag when attempting to perform a deep-copy due to a
live-migration.

This flag will prevent a possible race condition between the
start of the object deep-copy when migration was enabled and
the writing portion of the deep-copy when migration might
have completed via external means.

Fixes: https://tracker.ceph.com/issues/45694
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 1baba64)

Conflicts:
	src/librbd/deep_copy/ObjectCopyRequest.cc (trivial)
@trociny trociny added this to the nautilus milestone Jun 9, 2021
@trociny trociny added the rbd label Jun 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants