{"action":"created","issue":{"url":"https://api.github.com/repos/ceph/ceph/issues/4744","labels_url":"https://api.github.com/repos/ceph/ceph/issues/4744/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/4744/comments","events_url":"https://api.github.com/repos/ceph/ceph/issues/4744/events","html_url":"https://github.com/ceph/ceph/pull/4744","id":79258764,"number":4744,"title":"librbd: diff_iterate should issue concurrent ops","user":{"login":"dillaman","id":4739042,"avatar_url":"https://avatars.githubusercontent.com/u/4739042?v=3","gravatar_id":"","url":"https://api.github.com/users/dillaman","html_url":"https://github.com/dillaman","followers_url":"https://api.github.com/users/dillaman/followers","following_url":"https://api.github.com/users/dillaman/following{/other_user}","gists_url":"https://api.github.com/users/dillaman/gists{/gist_id}","starred_url":"https://api.github.com/users/dillaman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dillaman/subscriptions","organizations_url":"https://api.github.com/users/dillaman/orgs","repos_url":"https://api.github.com/users/dillaman/repos","events_url":"https://api.github.com/users/dillaman/events{/privacy}","received_events_url":"https://api.github.com/users/dillaman/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceph/ceph/labels/feature","name":"feature","color":"009800"},{"url":"https://api.github.com/repos/ceph/ceph/labels/rbd","name":"rbd","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-05-22T03:11:03Z","updated_at":"2015-06-11T12:48:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/4744","html_url":"https://github.com/ceph/ceph/pull/4744","diff_url":"https://github.com/ceph/ceph/pull/4744.diff","patch_url":"https://github.com/ceph/ceph/pull/4744.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/ceph/ceph/issues/comments/111121564","html_url":"https://github.com/ceph/ceph/pull/4744#issuecomment-111121564","issue_url":"https://api.github.com/repos/ceph/ceph/issues/4744","id":111121564,"user":{"login":"dillaman","id":4739042,"avatar_url":"https://avatars.githubusercontent.com/u/4739042?v=3","gravatar_id":"","url":"https://api.github.com/users/dillaman","html_url":"https://github.com/dillaman","followers_url":"https://api.github.com/users/dillaman/followers","following_url":"https://api.github.com/users/dillaman/following{/other_user}","gists_url":"https://api.github.com/users/dillaman/gists{/gist_id}","starred_url":"https://api.github.com/users/dillaman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dillaman/subscriptions","organizations_url":"https://api.github.com/users/dillaman/orgs","repos_url":"https://api.github.com/users/dillaman/repos","events_url":"https://api.github.com/users/dillaman/events{/privacy}","received_events_url":"https://api.github.com/users/dillaman/received_events","type":"User","site_admin":false},"created_at":"2015-06-11T12:48:36Z","updated_at":"2015-06-11T12:48:36Z","body":"@LiumxNL The callbacks cannot be invoked from the librados AIO callback since that would block other IO operations.  Therefore, either the callbacks need to occur from another thread or via the original caller's thread context.  Since in both cases the results would be serialized, this implementation chooses the latter for simplicity. \r\n\r\nIn the case of export-diff, when it receives the (serialized) callback, it kicks off its own AIO read operation, so in effect this serialization point isn't a real bottleneck."}}