{"action":"created","comment":{"url":"https://api.github.com/repos/ceph/ceph/pulls/comments/72652647","id":72652647,"diff_hunk":"@@ -134,6 +154,69 @@ std::ostream& operator<<(std::ostream& os, const MirrorImageStatusState& state);\n \n WRITE_CLASS_ENCODER(MirrorImageStatus);\n \n+struct GroupImageSpec {\n+  GroupImageSpec() {}\n+\n+  GroupImageSpec(const std::string &image_id, int64_t pool_id)\n+    : image_id(image_id), pool_id(pool_id) {}\n+\n+  static GroupImageSpec empty() {\n+    return GroupImageSpec(\"\", -1);\n+  }\n+\n+  static int from_key(const std::string &image_key, GroupImageSpec *spec);\n+\n+  std::string image_id;\n+  int64_t pool_id;\n+\n+  void encode(bufferlist &bl) const;\n+  void decode(bufferlist::iterator &it);\n+  void dump(Formatter *f) const;\n+\n+  std::string image_key();\n+\n+};\n+\n+WRITE_CLASS_ENCODER(GroupImageSpec);\n+\n+struct GroupImageStatus {\n+  GroupImageStatus() {}\n+  GroupImageStatus(const std::string &image_id,\n+\t\t   int64_t pool_id,\n+\t\t   GroupImageLinkState state)\n+    : spec(image_id, pool_id), state(state) {}\n+\n+  GroupImageStatus(GroupImageSpec spec,\n+\t\t   GroupImageLinkState state)\n+    : spec(spec), state(state) {}\n+\n+  GroupImageSpec spec;\n+  GroupImageLinkState state;\n+\n+  void encode(bufferlist &bl) const;\n+  void decode(bufferlist::iterator &it);\n+  void dump(Formatter *f) const;\n+\n+  std::string state_to_string() const;\n+};\n+\n+WRITE_CLASS_ENCODER(GroupImageStatus);\n+\n+struct GroupSpec {\n+  GroupSpec() {}\n+  GroupSpec(const std::string &group_id, int64_t pool_id)\n+    : group_id(group_id), pool_id(pool_id) {}\n+\n+  std::string group_id;\n+  int64_t pool_id;","path":"src/cls/rbd/cls_rbd_types.h","position":99,"original_position":99,"commit_id":"2cf578ac726f6d74ed81c18168bf269df7f54332","original_commit_id":"0417493d6e64ac6b11dd5d92959f253621bbbc49","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":"... = -1;","created_at":"2016-07-28T16:13:06Z","updated_at":"2016-07-28T16:13:06Z","html_url":"https://github.com/ceph/ceph/pull/10034#discussion_r72652647","pull_request_url":"https://api.github.com/repos/ceph/ceph/pulls/10034","_links":{"self":{"href":"https://api.github.com/repos/ceph/ceph/pulls/comments/72652647"},"html":{"href":"https://github.com/ceph/ceph/pull/10034#discussion_r72652647"},"pull_request":{"href":"https://api.github.com/repos/ceph/ceph/pulls/10034"}}},"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/10034","id":75750656,"html_url":"https://github.com/ceph/ceph/pull/10034","diff_url":"https://github.com/ceph/ceph/pull/10034.diff","patch_url":"https://github.com/ceph/ceph/pull/10034.patch","issue_url":"https://api.github.com/repos/ceph/ceph/issues/10034","number":10034,"state":"open","locked":false,"title":"librbd: add consistency groups operations with images","user":{"login":"VictorDenisov","id":230213,"avatar_url":"https://avatars.githubusercontent.com/u/230213?v=3","gravatar_id":"","url":"https://api.github.com/users/VictorDenisov","html_url":"https://github.com/VictorDenisov","followers_url":"https://api.github.com/users/VictorDenisov/followers","following_url":"https://api.github.com/users/VictorDenisov/following{/other_user}","gists_url":"https://api.github.com/users/VictorDenisov/gists{/gist_id}","starred_url":"https://api.github.com/users/VictorDenisov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VictorDenisov/subscriptions","organizations_url":"https://api.github.com/users/VictorDenisov/orgs","repos_url":"https://api.github.com/users/VictorDenisov/repos","events_url":"https://api.github.com/users/VictorDenisov/events{/privacy}","received_events_url":"https://api.github.com/users/VictorDenisov/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-06-30T02:16:23Z","updated_at":"2016-07-28T16:13:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"271d2708d6dc44da8c2ca536af5320c74ac1a83a","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ceph/ceph/pulls/10034/commits","review_comments_url":"https://api.github.com/repos/ceph/ceph/pulls/10034/comments","review_comment_url":"https://api.github.com/repos/ceph/ceph/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/10034/comments","statuses_url":"https://api.github.com/repos/ceph/ceph/statuses/2cf578ac726f6d74ed81c18168bf269df7f54332","head":{"label":"VictorDenisov:consistency_groups_images","ref":"consistency_groups_images","sha":"2cf578ac726f6d74ed81c18168bf269df7f54332","user":{"login":"VictorDenisov","id":230213,"avatar_url":"https://avatars.githubusercontent.com/u/230213?v=3","gravatar_id":"","url":"https://api.github.com/users/VictorDenisov","html_url":"https://github.com/VictorDenisov","followers_url":"https://api.github.com/users/VictorDenisov/followers","following_url":"https://api.github.com/users/VictorDenisov/following{/other_user}","gists_url":"https://api.github.com/users/VictorDenisov/gists{/gist_id}","starred_url":"https://api.github.com/users/VictorDenisov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VictorDenisov/subscriptions","organizations_url":"https://api.github.com/users/VictorDenisov/orgs","repos_url":"https://api.github.com/users/VictorDenisov/repos","events_url":"https://api.github.com/users/VictorDenisov/events{/privacy}","received_events_url":"https://api.github.com/users/VictorDenisov/received_events","type":"User","site_admin":false},"repo":{"id":50964368,"name":"ceph","full_name":"VictorDenisov/ceph","owner":{"login":"VictorDenisov","id":230213,"avatar_url":"https://avatars.githubusercontent.com/u/230213?v=3","gravatar_id":"","url":"https://api.github.com/users/VictorDenisov","html_url":"https://github.com/VictorDenisov","followers_url":"https://api.github.com/users/VictorDenisov/followers","following_url":"https://api.github.com/users/VictorDenisov/following{/other_user}","gists_url":"https://api.github.com/users/VictorDenisov/gists{/gist_id}","starred_url":"https://api.github.com/users/VictorDenisov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VictorDenisov/subscriptions","organizations_url":"https://api.github.com/users/VictorDenisov/orgs","repos_url":"https://api.github.com/users/VictorDenisov/repos","events_url":"https://api.github.com/users/VictorDenisov/events{/privacy}","received_events_url":"https://api.github.com/users/VictorDenisov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/VictorDenisov/ceph","description":"Ceph is a distributed object, block, and file storage platform ","fork":true,"url":"https://api.github.com/repos/VictorDenisov/ceph","forks_url":"https://api.github.com/repos/VictorDenisov/ceph/forks","keys_url":"https://api.github.com/repos/VictorDenisov/ceph/keys{/key_id}","collaborators_url":"https://api.github.com/repos/VictorDenisov/ceph/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/VictorDenisov/ceph/teams","hooks_url":"https://api.github.com/repos/VictorDenisov/ceph/hooks","issue_events_url":"https://api.github.com/repos/VictorDenisov/ceph/issues/events{/number}","events_url":"https://api.github.com/repos/VictorDenisov/ceph/events","assignees_url":"https://api.github.com/repos/VictorDenisov/ceph/assignees{/user}","branches_url":"https://api.github.com/repos/VictorDenisov/ceph/branches{/branch}","tags_url":"https://api.github.com/repos/VictorDenisov/ceph/tags","blobs_url":"https://api.github.com/repos/VictorDenisov/ceph/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/VictorDenisov/ceph/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/VictorDenisov/ceph/git/refs{/sha}","trees_url":"https://api.github.com/repos/VictorDenisov/ceph/git/trees{/sha}","statuses_url":"https://api.github.com/repos/VictorDenisov/ceph/statuses/{sha}","languages_url":"https://api.github.com/repos/VictorDenisov/ceph/languages","stargazers_url":"https://api.github.com/repos/VictorDenisov/ceph/stargazers","contributors_url":"https://api.github.com/repos/VictorDenisov/ceph/contributors","subscribers_url":"https://api.github.com/repos/VictorDenisov/ceph/subscribers","subscription_url":"https://api.github.com/repos/VictorDenisov/ceph/subscription","commits_url":"https://api.github.com/repos/VictorDenisov/ceph/commits{/sha}","git_commits_url":"https://api.github.com/repos/VictorDenisov/ceph/git/commits{/sha}","comments_url":"https://api.github.com/repos/VictorDenisov/ceph/comments{/number}","issue_comment_url":"https://api.github.com/repos/VictorDenisov/ceph/issues/comments{/number}","contents_url":"https://api.github.com/repos/VictorDenisov/ceph/contents/{+path}","compare_url":"https://api.github.com/repos/VictorDenisov/ceph/compare/{base}...{head}","merges_url":"https://api.github.com/repos/VictorDenisov/ceph/merges","archive_url":"https://api.github.com/repos/VictorDenisov/ceph/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/VictorDenisov/ceph/downloads","issues_url":"https://api.github.com/repos/VictorDenisov/ceph/issues{/number}","pulls_url":"https://api.github.com/repos/VictorDenisov/ceph/pulls{/number}","milestones_url":"https://api.github.com/repos/VictorDenisov/ceph/milestones{/number}","notifications_url":"https://api.github.com/repos/VictorDenisov/ceph/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/VictorDenisov/ceph/labels{/name}","releases_url":"https://api.github.com/repos/VictorDenisov/ceph/releases{/id}","deployments_url":"https://api.github.com/repos/VictorDenisov/ceph/deployments","created_at":"2016-02-03T01:17:23Z","updated_at":"2016-02-03T01:17:41Z","pushed_at":"2016-07-27T16:12:35Z","git_url":"git://github.com/VictorDenisov/ceph.git","ssh_url":"git@github.com:VictorDenisov/ceph.git","clone_url":"https://github.com/VictorDenisov/ceph.git","svn_url":"https://github.com/VictorDenisov/ceph","homepage":"http://ceph.com","size":172375,"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":"e93f25c65e71aa1532030dbf8acff15d648428f0","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-07-28T11:03:58Z","pushed_at":"2016-07-28T14:55:54Z","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":230563,"stargazers_count":2335,"watchers_count":2335,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1389,"mirror_url":null,"open_issues_count":483,"forks":1389,"open_issues":483,"watchers":2335,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ceph/ceph/pulls/10034"},"html":{"href":"https://github.com/ceph/ceph/pull/10034"},"issue":{"href":"https://api.github.com/repos/ceph/ceph/issues/10034"},"comments":{"href":"https://api.github.com/repos/ceph/ceph/issues/10034/comments"},"review_comments":{"href":"https://api.github.com/repos/ceph/ceph/pulls/10034/comments"},"review_comment":{"href":"https://api.github.com/repos/ceph/ceph/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ceph/ceph/pulls/10034/commits"},"statuses":{"href":"https://api.github.com/repos/ceph/ceph/statuses/2cf578ac726f6d74ed81c18168bf269df7f54332"}}}}
{"actor":{"display_login":"dillaman"}}