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

jewel: librbd: fail IO request when exclusive lock cannot be obtained #17402

Merged
merged 11 commits into from Sep 11, 2017

Conversation

Projects
None yet
3 participants
@dillaman
Contributor

dillaman commented Aug 31, 2017

dillaman added some commits Jun 22, 2017

common: improve the ability to mock PointerWQ classes
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 2d90bd8)

Conflicts:
	src/common/WorkQueue.h: trivial resolution
	src/librbd/AioImageRequestWQ.cc: file renamed
qa/tasks/qemu: rbd cache is enabled by default
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit fdc4c92)
qa/suites/rbd: test dynamic features with cache disabled
The journaling logic follows different paths depending on the
cache configuration.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 57a507d)
librbd: clean up variable naming in IO work queue
(derived from commit 9d8ae62)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
librbd: directly inform IO work queue when locks are required
Due to lock dependency issues between librbd locks and the the thread
pool lock, it's impossible to directly determine if the lock is
required within the _void_dequeue method. Therefore, this state needs
to be internally tracked by the work queue.

(derived from commit 4a52567)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
librbd: exclusive lock failures should bubble up to IO
(derived from commit 048d475)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
librbd: fix missing write block validation in IO work queue
(derived from commit 8e76ebd)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
librbd: convert ImageRequestWQ to template
(derived from commit b956958)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
librbd: cleanup interface between IO work queue and IO requests
This will help mock the testing of the IO work queue

(derived from commit e0834d1)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
test: unit tests for librbd IO work queue failure path
(derived from commit 6e23ef3)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>

@dillaman dillaman added this to the jewel milestone Aug 31, 2017

@trociny

trociny approved these changes Sep 1, 2017

LGTM

@smithfarm

This comment has been minimized.

Show comment
Hide comment
@smithfarm

smithfarm Sep 7, 2017

Contributor

@dillaman Can you cherry-pick 98061bb into this PR?

Contributor

smithfarm commented Sep 7, 2017

@dillaman Can you cherry-pick 98061bb into this PR?

qa/suites/rbd: fixed cache override
Fixes: http://tracker.ceph.com/issues/21251
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 98061bb)
@dillaman

This comment has been minimized.

Show comment
Hide comment
@dillaman

dillaman Sep 7, 2017

Contributor

@smithfarm done

Contributor

dillaman commented Sep 7, 2017

@smithfarm done

@smithfarm

This comment has been minimized.

Show comment
Hide comment
@smithfarm

smithfarm Sep 10, 2017

Contributor

@dillaman This passed an rbd suite at http://tracker.ceph.com/issues/20613#note-59 with one failure that passed on rerun.

OK to merge?

Contributor

smithfarm commented Sep 10, 2017

@dillaman This passed an rbd suite at http://tracker.ceph.com/issues/20613#note-59 with one failure that passed on rerun.

OK to merge?

@dillaman

This comment has been minimized.

Show comment
Hide comment
@dillaman

dillaman Sep 11, 2017

Contributor

@smithfarm lgtm -- I need to investigate that failure since it appears like an OSD crashed and then data became corrupt (unrelated to this PR).

Contributor

dillaman commented Sep 11, 2017

@smithfarm lgtm -- I need to investigate that failure since it appears like an OSD crashed and then data became corrupt (unrelated to this PR).

@smithfarm smithfarm merged commit dd0ead4 into ceph:jewel Sep 11, 2017

4 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment