{"action":"created","comment":{"url":"https://api.github.com/repos/ceph/ceph/pulls/comments/59595237","id":59595237,"diff_hunk":"@@ -95,19 +96,23 @@ BootstrapRequest<I>::BootstrapRequest(librados::IoCtx &local_io_ctx,\n                                       const std::string &remote_mirror_uuid,\n                                       Journaler *journaler,\n                                       MirrorPeerClientMeta *client_meta,\n-                                      Context *on_finish)\n+                                      Context *on_finish,\n+\t\t\t\t      rbd::mirror::ProgressContext *progress_ctx)\n   : m_local_io_ctx(local_io_ctx), m_remote_io_ctx(remote_io_ctx),\n     m_local_image_ctx(local_image_ctx), m_local_image_name(local_image_name),\n     m_remote_image_id(remote_image_id), m_global_image_id(global_image_id),\n     m_work_queue(work_queue), m_timer(timer), m_timer_lock(timer_lock),\n     m_local_mirror_uuid(local_mirror_uuid),\n     m_remote_mirror_uuid(remote_mirror_uuid), m_journaler(journaler),\n-    m_client_meta(client_meta), m_on_finish(on_finish) {\n+    m_client_meta(client_meta), m_on_finish(on_finish),\n+    m_progress_ctx(progress_ctx) {\n }\n \n template <typename I>\n BootstrapRequest<I>::~BootstrapRequest() {\n   assert(m_remote_image_ctx == nullptr);\n+\n+  delete(m_progress_ctx);","path":"src/tools/rbd_mirror/image_replayer/BootstrapRequest.cc","position":30,"original_position":30,"commit_id":"ec9824f12628dd2024697abadb8aa8c136c2e73b","original_commit_id":"ec9824f12628dd2024697abadb8aa8c136c2e73b","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},"body":"I was thinking ```ImageReplayer``` would have a ```ImageReplayerProgressContext``` proxy which it passes to ```BootstrapRequest``` as a ```ProgressContext*``` (owned by ImageReplayer -- could even be a member variable of ImageReplayer since the lifetime is intertwined).   ","created_at":"2016-04-13T17:59:57Z","updated_at":"2016-04-13T17:59:57Z","html_url":"https://github.com/ceph/ceph/pull/8442#discussion_r59595237","pull_request_url":"https://api.github.com/repos/ceph/ceph/pulls/8442","_links":{"self":{"href":"https://api.github.com/repos/ceph/ceph/pulls/comments/59595237"},"html":{"href":"https://github.com/ceph/ceph/pull/8442#discussion_r59595237"},"pull_request":{"href":"https://api.github.com/repos/ceph/ceph/pulls/8442"}}},"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/8442","id":65297357,"html_url":"https://github.com/ceph/ceph/pull/8442","diff_url":"https://github.com/ceph/ceph/pull/8442.diff","patch_url":"https://github.com/ceph/ceph/pull/8442.patch","issue_url":"https://api.github.com/repos/ceph/ceph/issues/8442","number":8442,"state":"open","locked":false,"title":"[RFC] rbd-mirror: store/retrive image replaty status in rbd_mirroring object","user":{"login":"trociny","id":1517222,"avatar_url":"https://avatars.githubusercontent.com/u/1517222?v=3","gravatar_id":"","url":"https://api.github.com/users/trociny","html_url":"https://github.com/trociny","followers_url":"https://api.github.com/users/trociny/followers","following_url":"https://api.github.com/users/trociny/following{/other_user}","gists_url":"https://api.github.com/users/trociny/gists{/gist_id}","starred_url":"https://api.github.com/users/trociny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trociny/subscriptions","organizations_url":"https://api.github.com/users/trociny/orgs","repos_url":"https://api.github.com/users/trociny/repos","events_url":"https://api.github.com/users/trociny/events{/privacy}","received_events_url":"https://api.github.com/users/trociny/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-04-05T12:40:24Z","updated_at":"2016-04-13T17:59:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a03d0243848b4d3f5df09fcac713c20e30f5e7be","assignee":null,"milestone":{"url":"https://api.github.com/repos/ceph/ceph/milestones/8","html_url":"https://github.com/ceph/ceph/milestones/jewel","labels_url":"https://api.github.com/repos/ceph/ceph/milestones/8/labels","id":1403256,"number":8,"title":"jewel","description":"","creator":{"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},"open_issues":17,"closed_issues":354,"state":"open","created_at":"2015-11-09T22:29:48Z","updated_at":"2016-04-13T17:49:11Z","due_on":"2016-03-20T04:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/ceph/ceph/pulls/8442/commits","review_comments_url":"https://api.github.com/repos/ceph/ceph/pulls/8442/comments","review_comment_url":"https://api.github.com/repos/ceph/ceph/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/8442/comments","statuses_url":"https://api.github.com/repos/ceph/ceph/statuses/ec9824f12628dd2024697abadb8aa8c136c2e73b","head":{"label":"trociny:wip-rbd-mirror-status","ref":"wip-rbd-mirror-status","sha":"ec9824f12628dd2024697abadb8aa8c136c2e73b","user":{"login":"trociny","id":1517222,"avatar_url":"https://avatars.githubusercontent.com/u/1517222?v=3","gravatar_id":"","url":"https://api.github.com/users/trociny","html_url":"https://github.com/trociny","followers_url":"https://api.github.com/users/trociny/followers","following_url":"https://api.github.com/users/trociny/following{/other_user}","gists_url":"https://api.github.com/users/trociny/gists{/gist_id}","starred_url":"https://api.github.com/users/trociny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trociny/subscriptions","organizations_url":"https://api.github.com/users/trociny/orgs","repos_url":"https://api.github.com/users/trociny/repos","events_url":"https://api.github.com/users/trociny/events{/privacy}","received_events_url":"https://api.github.com/users/trociny/received_events","type":"User","site_admin":false},"repo":{"id":28393565,"name":"ceph","full_name":"trociny/ceph","owner":{"login":"trociny","id":1517222,"avatar_url":"https://avatars.githubusercontent.com/u/1517222?v=3","gravatar_id":"","url":"https://api.github.com/users/trociny","html_url":"https://github.com/trociny","followers_url":"https://api.github.com/users/trociny/followers","following_url":"https://api.github.com/users/trociny/following{/other_user}","gists_url":"https://api.github.com/users/trociny/gists{/gist_id}","starred_url":"https://api.github.com/users/trociny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trociny/subscriptions","organizations_url":"https://api.github.com/users/trociny/orgs","repos_url":"https://api.github.com/users/trociny/repos","events_url":"https://api.github.com/users/trociny/events{/privacy}","received_events_url":"https://api.github.com/users/trociny/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/trociny/ceph","description":"Ceph is a distributed object, block, and file storage platform ","fork":true,"url":"https://api.github.com/repos/trociny/ceph","forks_url":"https://api.github.com/repos/trociny/ceph/forks","keys_url":"https://api.github.com/repos/trociny/ceph/keys{/key_id}","collaborators_url":"https://api.github.com/repos/trociny/ceph/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/trociny/ceph/teams","hooks_url":"https://api.github.com/repos/trociny/ceph/hooks","issue_events_url":"https://api.github.com/repos/trociny/ceph/issues/events{/number}","events_url":"https://api.github.com/repos/trociny/ceph/events","assignees_url":"https://api.github.com/repos/trociny/ceph/assignees{/user}","branches_url":"https://api.github.com/repos/trociny/ceph/branches{/branch}","tags_url":"https://api.github.com/repos/trociny/ceph/tags","blobs_url":"https://api.github.com/repos/trociny/ceph/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/trociny/ceph/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/trociny/ceph/git/refs{/sha}","trees_url":"https://api.github.com/repos/trociny/ceph/git/trees{/sha}","statuses_url":"https://api.github.com/repos/trociny/ceph/statuses/{sha}","languages_url":"https://api.github.com/repos/trociny/ceph/languages","stargazers_url":"https://api.github.com/repos/trociny/ceph/stargazers","contributors_url":"https://api.github.com/repos/trociny/ceph/contributors","subscribers_url":"https://api.github.com/repos/trociny/ceph/subscribers","subscription_url":"https://api.github.com/repos/trociny/ceph/subscription","commits_url":"https://api.github.com/repos/trociny/ceph/commits{/sha}","git_commits_url":"https://api.github.com/repos/trociny/ceph/git/commits{/sha}","comments_url":"https://api.github.com/repos/trociny/ceph/comments{/number}","issue_comment_url":"https://api.github.com/repos/trociny/ceph/issues/comments{/number}","contents_url":"https://api.github.com/repos/trociny/ceph/contents/{+path}","compare_url":"https://api.github.com/repos/trociny/ceph/compare/{base}...{head}","merges_url":"https://api.github.com/repos/trociny/ceph/merges","archive_url":"https://api.github.com/repos/trociny/ceph/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/trociny/ceph/downloads","issues_url":"https://api.github.com/repos/trociny/ceph/issues{/number}","pulls_url":"https://api.github.com/repos/trociny/ceph/pulls{/number}","milestones_url":"https://api.github.com/repos/trociny/ceph/milestones{/number}","notifications_url":"https://api.github.com/repos/trociny/ceph/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/trociny/ceph/labels{/name}","releases_url":"https://api.github.com/repos/trociny/ceph/releases{/id}","deployments_url":"https://api.github.com/repos/trociny/ceph/deployments","created_at":"2014-12-23T11:04:31Z","updated_at":"2016-01-13T10:41:46Z","pushed_at":"2016-04-12T12:55:43Z","git_url":"git://github.com/trociny/ceph.git","ssh_url":"git@github.com:trociny/ceph.git","clone_url":"https://github.com/trociny/ceph.git","svn_url":"https://github.com/trociny/ceph","homepage":"http://ceph.com","size":161307,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ceph:master","ref":"master","sha":"5f9c77bd108ea7924b3964aa3dba4aaa09042ea7","user":{"login":"ceph","id":1015767,"avatar_url":"https://avatars.githubusercontent.com/u/1015767?v=3","gravatar_id":"","url":"https://api.github.com/users/ceph","html_url":"https://github.com/ceph","followers_url":"https://api.github.com/users/ceph/followers","following_url":"https://api.github.com/users/ceph/following{/other_user}","gists_url":"https://api.github.com/users/ceph/gists{/gist_id}","starred_url":"https://api.github.com/users/ceph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ceph/subscriptions","organizations_url":"https://api.github.com/users/ceph/orgs","repos_url":"https://api.github.com/users/ceph/repos","events_url":"https://api.github.com/users/ceph/events{/privacy}","received_events_url":"https://api.github.com/users/ceph/received_events","type":"Organization","site_admin":false},"repo":{"id":2310495,"name":"ceph","full_name":"ceph/ceph","owner":{"login":"ceph","id":1015767,"avatar_url":"https://avatars.githubusercontent.com/u/1015767?v=3","gravatar_id":"","url":"https://api.github.com/users/ceph","html_url":"https://github.com/ceph","followers_url":"https://api.github.com/users/ceph/followers","following_url":"https://api.github.com/users/ceph/following{/other_user}","gists_url":"https://api.github.com/users/ceph/gists{/gist_id}","starred_url":"https://api.github.com/users/ceph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ceph/subscriptions","organizations_url":"https://api.github.com/users/ceph/orgs","repos_url":"https://api.github.com/users/ceph/repos","events_url":"https://api.github.com/users/ceph/events{/privacy}","received_events_url":"https://api.github.com/users/ceph/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ceph/ceph","description":"Ceph is a distributed object, block, and file storage platform ","fork":false,"url":"https://api.github.com/repos/ceph/ceph","forks_url":"https://api.github.com/repos/ceph/ceph/forks","keys_url":"https://api.github.com/repos/ceph/ceph/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ceph/ceph/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ceph/ceph/teams","hooks_url":"https://api.github.com/repos/ceph/ceph/hooks","issue_events_url":"https://api.github.com/repos/ceph/ceph/issues/events{/number}","events_url":"https://api.github.com/repos/ceph/ceph/events","assignees_url":"https://api.github.com/repos/ceph/ceph/assignees{/user}","branches_url":"https://api.github.com/repos/ceph/ceph/branches{/branch}","tags_url":"https://api.github.com/repos/ceph/ceph/tags","blobs_url":"https://api.github.com/repos/ceph/ceph/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ceph/ceph/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ceph/ceph/git/refs{/sha}","trees_url":"https://api.github.com/repos/ceph/ceph/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ceph/ceph/statuses/{sha}","languages_url":"https://api.github.com/repos/ceph/ceph/languages","stargazers_url":"https://api.github.com/repos/ceph/ceph/stargazers","contributors_url":"https://api.github.com/repos/ceph/ceph/contributors","subscribers_url":"https://api.github.com/repos/ceph/ceph/subscribers","subscription_url":"https://api.github.com/repos/ceph/ceph/subscription","commits_url":"https://api.github.com/repos/ceph/ceph/commits{/sha}","git_commits_url":"https://api.github.com/repos/ceph/ceph/git/commits{/sha}","comments_url":"https://api.github.com/repos/ceph/ceph/comments{/number}","issue_comment_url":"https://api.github.com/repos/ceph/ceph/issues/comments{/number}","contents_url":"https://api.github.com/repos/ceph/ceph/contents/{+path}","compare_url":"https://api.github.com/repos/ceph/ceph/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ceph/ceph/merges","archive_url":"https://api.github.com/repos/ceph/ceph/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ceph/ceph/downloads","issues_url":"https://api.github.com/repos/ceph/ceph/issues{/number}","pulls_url":"https://api.github.com/repos/ceph/ceph/pulls{/number}","milestones_url":"https://api.github.com/repos/ceph/ceph/milestones{/number}","notifications_url":"https://api.github.com/repos/ceph/ceph/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ceph/ceph/labels{/name}","releases_url":"https://api.github.com/repos/ceph/ceph/releases{/id}","deployments_url":"https://api.github.com/repos/ceph/ceph/deployments","created_at":"2011-09-01T21:41:26Z","updated_at":"2016-04-13T09:38:40Z","pushed_at":"2016-04-13T17:49:11Z","git_url":"git://github.com/ceph/ceph.git","ssh_url":"git@github.com:ceph/ceph.git","clone_url":"https://github.com/ceph/ceph.git","svn_url":"https://github.com/ceph/ceph","homepage":"http://ceph.com","size":212580,"stargazers_count":2050,"watchers_count":2050,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1222,"mirror_url":null,"open_issues_count":343,"forks":1222,"open_issues":343,"watchers":2050,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ceph/ceph/pulls/8442"},"html":{"href":"https://github.com/ceph/ceph/pull/8442"},"issue":{"href":"https://api.github.com/repos/ceph/ceph/issues/8442"},"comments":{"href":"https://api.github.com/repos/ceph/ceph/issues/8442/comments"},"review_comments":{"href":"https://api.github.com/repos/ceph/ceph/pulls/8442/comments"},"review_comment":{"href":"https://api.github.com/repos/ceph/ceph/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ceph/ceph/pulls/8442/commits"},"statuses":{"href":"https://api.github.com/repos/ceph/ceph/statuses/ec9824f12628dd2024697abadb8aa8c136c2e73b"}}}}