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: initial hooks for client-side, image-extent cache in IO path #9121

Merged
merged 11 commits into from Aug 29, 2016

Conversation

dillaman
Copy link

@dillaman dillaman commented May 13, 2016

Foundational changes to support a persistent, client-side cache for librbd

@dillaman dillaman added this to the kraken milestone May 17, 2016
@dillaman dillaman removed this from the kraken milestone Aug 23, 2016
@dillaman dillaman changed the title [DNM] librbd: initial hooks for client-side, image-extent cache in IO path librbd: initial hooks for client-side, image-extent cache in IO path Aug 26, 2016
trociny pushed a commit that referenced this pull request Aug 27, 2016
 librbd: initial hooks for client-side, image-extent cache in IO path #9121
@trociny
Copy link
Contributor

trociny commented Aug 27, 2016

@dillaman Observing this:

zhuzha:~/ceph/ceph.upstream/build% RBD_FEATURES=127 ./bin/ceph_test_librbd --gtest_filter=TestLibRBD.SnapRemove2
Note: Google Test filter = TestLibRBD.SnapRemove2
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TestLibRBD
seed 31855
[ RUN      ] TestLibRBD.SnapRemove2
using new format!
6.67% done
13.33% done
20.00% done
26.67% done
33.33% done
40.00% done
46.67% done
53.33% done
60.00% done
66.67% done
73.33% done
80.00% done
86.67% done
93.33% done
100.00% done
/home/mgolub/ceph/ceph.upstream/src/librbd/operation/SnapshotUnprotectRequest.cc: In function 'int librbd::operation::{anonymous}::C_ScanPoolChildren<I>::send() [with I = librbd::ImageCtx]' thread 7fd39f7fe700 time 2016-08-27 22:49:50.152854
/home/mgolub/ceph/ceph.upstream/src/librbd/operation/SnapshotUnprotectRequest.cc: 67: FAILED assert(image_ctx.owner_lock.is_locked())
 ceph version v11.0.0-1809-g5d7400a (5d7400a8b44d6dd2e482f72e536baec7d766ccaa)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x82) [0x7fd42b968df2]
 2: (()+0x4c523b) [0x7fd42b81323b]
 3: (librbd::AsyncObjectThrottle<librbd::ImageCtx>::start_next_op()+0xb6) [0x7fd42b8279b6]
 4: (librbd::AsyncObjectThrottle<librbd::ImageCtx>::finish_op(int)+0x42) [0x7fd42b827ad2]
 5: (()+0x4c586a) [0x7fd42b81386a]
 6: (Context::complete(int)+0x9) [0x7fd42b5f0c79]
 7: (librados::C_AioComplete::finish(int)+0x1d) [0x7fd42b63b2dd]
 8: (Context::complete(int)+0x9) [0x7fd42b5f0c79]
 9: (Finisher::finisher_thread_entry()+0x21e) [0x7fd42b96806e]
 10: (()+0x80a4) [0x7fd42af160a4]
 10: (()+0x80a4) [0x7fd42af160a4]
 11: (clone()+0x6d) [0x7fd427bb704d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
zsh: abort      RBD_FEATURES=127 ./bin/ceph_test_librbd --gtest_filter=TestLibRBD.SnapRemove2

Jason Dillaman added 11 commits August 27, 2016 19:37
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The completion will directly invoke the callback with the
result code.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
IO is fully flushed before releasing the exclusive lock so holding
the owner_lock isn't required.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
This reverts commit a38f9e5.

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

@trociny sorry about that -- should be resolved now.

@trociny
Copy link
Contributor

trociny commented Aug 29, 2016

lgtm

@trociny trociny merged commit d16c046 into ceph:master Aug 29, 2016
@dillaman dillaman deleted the wip-15688 branch October 1, 2019 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants