{"action":"created","comment":{"url":"https://api.github.com/repos/liewegas/ceph/pulls/comments/64777202","id":64777202,"diff_hunk":"@@ -2278,6 +2278,26 @@ int buffer::list::write_fd_zero_copy(int fd) const\n   return 0;\n }\n \n+__u32 buffer::list::crc32c(unsigned off, size_t len, __u32 crc) const\n+{\n+  if (off == 0 && len == length()) {\n+    return crc32c(crc); //fall back to full implementation that supports caching.\n+  }\n+  buffer::list::const_iterator it = begin();\n+  it.advance(MIN(off, length()));","path":"src/common/buffer.cc","position":10,"original_position":10,"commit_id":"89d6b96abdd135ae29bcefedc353f8090680b8f8","original_commit_id":"89d6b96abdd135ae29bcefedc353f8090680b8f8","user":{"login":"liewegas","id":433031,"avatar_url":"https://avatars.githubusercontent.com/u/433031?v=3","gravatar_id":"","url":"https://api.github.com/users/liewegas","html_url":"https://github.com/liewegas","followers_url":"https://api.github.com/users/liewegas/followers","following_url":"https://api.github.com/users/liewegas/following{/other_user}","gists_url":"https://api.github.com/users/liewegas/gists{/gist_id}","starred_url":"https://api.github.com/users/liewegas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liewegas/subscriptions","organizations_url":"https://api.github.com/users/liewegas/orgs","repos_url":"https://api.github.com/users/liewegas/repos","events_url":"https://api.github.com/users/liewegas/events{/privacy}","received_events_url":"https://api.github.com/users/liewegas/received_events","type":"User","site_admin":false},"body":"This advance() call is not free--it has to traverse the bufferlist's list of ptr's.  I was imagining a crc32c method that works directly on the iterator and uses get_ptr_and_advance().\r\n","created_at":"2016-05-26T16:28:15Z","updated_at":"2016-05-26T16:28:15Z","html_url":"https://github.com/liewegas/ceph/pull/21#discussion_r64777202","pull_request_url":"https://api.github.com/repos/liewegas/ceph/pulls/21","_links":{"self":{"href":"https://api.github.com/repos/liewegas/ceph/pulls/comments/64777202"},"html":{"href":"https://github.com/liewegas/ceph/pull/21#discussion_r64777202"},"pull_request":{"href":"https://api.github.com/repos/liewegas/ceph/pulls/21"}}},"pull_request":{"url":"https://api.github.com/repos/liewegas/ceph/pulls/21","id":71410386,"html_url":"https://github.com/liewegas/ceph/pull/21","diff_url":"https://github.com/liewegas/ceph/pull/21.diff","patch_url":"https://github.com/liewegas/ceph/pull/21.patch","issue_url":"https://api.github.com/repos/liewegas/ceph/issues/21","number":21,"state":"open","locked":false,"title":"Extends bufferlist interface to calculate crc at arbitrary range and…","user":{"login":"ifed01","id":7138176,"avatar_url":"https://avatars.githubusercontent.com/u/7138176?v=3","gravatar_id":"","url":"https://api.github.com/users/ifed01","html_url":"https://github.com/ifed01","followers_url":"https://api.github.com/users/ifed01/followers","following_url":"https://api.github.com/users/ifed01/following{/other_user}","gists_url":"https://api.github.com/users/ifed01/gists{/gist_id}","starred_url":"https://api.github.com/users/ifed01/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ifed01/subscriptions","organizations_url":"https://api.github.com/users/ifed01/orgs","repos_url":"https://api.github.com/users/ifed01/repos","events_url":"https://api.github.com/users/ifed01/events{/privacy}","received_events_url":"https://api.github.com/users/ifed01/received_events","type":"User","site_admin":false},"body":"… refactors Checksummer to use that\r\n\r\nSigned-off-by: Igor Fedotov <ifedotov@mirantis.com>","created_at":"2016-05-25T15:20:06Z","updated_at":"2016-05-26T16:28:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"97ff6eb885f36e4310109dc073f9aeff400305fc","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/liewegas/ceph/pulls/21/commits","review_comments_url":"https://api.github.com/repos/liewegas/ceph/pulls/21/comments","review_comment_url":"https://api.github.com/repos/liewegas/ceph/pulls/comments{/number}","comments_url":"https://api.github.com/repos/liewegas/ceph/issues/21/comments","statuses_url":"https://api.github.com/repos/liewegas/ceph/statuses/89d6b96abdd135ae29bcefedc353f8090680b8f8","head":{"label":"ifed01:wip-bluestore-write9","ref":"wip-bluestore-write9","sha":"89d6b96abdd135ae29bcefedc353f8090680b8f8","user":{"login":"ifed01","id":7138176,"avatar_url":"https://avatars.githubusercontent.com/u/7138176?v=3","gravatar_id":"","url":"https://api.github.com/users/ifed01","html_url":"https://github.com/ifed01","followers_url":"https://api.github.com/users/ifed01/followers","following_url":"https://api.github.com/users/ifed01/following{/other_user}","gists_url":"https://api.github.com/users/ifed01/gists{/gist_id}","starred_url":"https://api.github.com/users/ifed01/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ifed01/subscriptions","organizations_url":"https://api.github.com/users/ifed01/orgs","repos_url":"https://api.github.com/users/ifed01/repos","events_url":"https://api.github.com/users/ifed01/events{/privacy}","received_events_url":"https://api.github.com/users/ifed01/received_events","type":"User","site_admin":false},"repo":{"id":42860525,"name":"ceph","full_name":"ifed01/ceph","owner":{"login":"ifed01","id":7138176,"avatar_url":"https://avatars.githubusercontent.com/u/7138176?v=3","gravatar_id":"","url":"https://api.github.com/users/ifed01","html_url":"https://github.com/ifed01","followers_url":"https://api.github.com/users/ifed01/followers","following_url":"https://api.github.com/users/ifed01/following{/other_user}","gists_url":"https://api.github.com/users/ifed01/gists{/gist_id}","starred_url":"https://api.github.com/users/ifed01/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ifed01/subscriptions","organizations_url":"https://api.github.com/users/ifed01/orgs","repos_url":"https://api.github.com/users/ifed01/repos","events_url":"https://api.github.com/users/ifed01/events{/privacy}","received_events_url":"https://api.github.com/users/ifed01/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ifed01/ceph","description":"Ceph is a distributed object, block, and file storage platform ","fork":true,"url":"https://api.github.com/repos/ifed01/ceph","forks_url":"https://api.github.com/repos/ifed01/ceph/forks","keys_url":"https://api.github.com/repos/ifed01/ceph/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ifed01/ceph/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ifed01/ceph/teams","hooks_url":"https://api.github.com/repos/ifed01/ceph/hooks","issue_events_url":"https://api.github.com/repos/ifed01/ceph/issues/events{/number}","events_url":"https://api.github.com/repos/ifed01/ceph/events","assignees_url":"https://api.github.com/repos/ifed01/ceph/assignees{/user}","branches_url":"https://api.github.com/repos/ifed01/ceph/branches{/branch}","tags_url":"https://api.github.com/repos/ifed01/ceph/tags","blobs_url":"https://api.github.com/repos/ifed01/ceph/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ifed01/ceph/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ifed01/ceph/git/refs{/sha}","trees_url":"https://api.github.com/repos/ifed01/ceph/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ifed01/ceph/statuses/{sha}","languages_url":"https://api.github.com/repos/ifed01/ceph/languages","stargazers_url":"https://api.github.com/repos/ifed01/ceph/stargazers","contributors_url":"https://api.github.com/repos/ifed01/ceph/contributors","subscribers_url":"https://api.github.com/repos/ifed01/ceph/subscribers","subscription_url":"https://api.github.com/repos/ifed01/ceph/subscription","commits_url":"https://api.github.com/repos/ifed01/ceph/commits{/sha}","git_commits_url":"https://api.github.com/repos/ifed01/ceph/git/commits{/sha}","comments_url":"https://api.github.com/repos/ifed01/ceph/comments{/number}","issue_comment_url":"https://api.github.com/repos/ifed01/ceph/issues/comments{/number}","contents_url":"https://api.github.com/repos/ifed01/ceph/contents/{+path}","compare_url":"https://api.github.com/repos/ifed01/ceph/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ifed01/ceph/merges","archive_url":"https://api.github.com/repos/ifed01/ceph/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ifed01/ceph/downloads","issues_url":"https://api.github.com/repos/ifed01/ceph/issues{/number}","pulls_url":"https://api.github.com/repos/ifed01/ceph/pulls{/number}","milestones_url":"https://api.github.com/repos/ifed01/ceph/milestones{/number}","notifications_url":"https://api.github.com/repos/ifed01/ceph/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ifed01/ceph/labels{/name}","releases_url":"https://api.github.com/repos/ifed01/ceph/releases{/id}","deployments_url":"https://api.github.com/repos/ifed01/ceph/deployments","created_at":"2015-09-21T10:49:23Z","updated_at":"2016-01-12T23:28:29Z","pushed_at":"2016-05-25T15:22:33Z","git_url":"git://github.com/ifed01/ceph.git","ssh_url":"git@github.com:ifed01/ceph.git","clone_url":"https://github.com/ifed01/ceph.git","svn_url":"https://github.com/ifed01/ceph","homepage":"http://ceph.com","size":161203,"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":"liewegas:wip-bluestore-write","ref":"wip-bluestore-write","sha":"0360f3dd8b412f462c5933e35aee42b32ea2d1b8","user":{"login":"liewegas","id":433031,"avatar_url":"https://avatars.githubusercontent.com/u/433031?v=3","gravatar_id":"","url":"https://api.github.com/users/liewegas","html_url":"https://github.com/liewegas","followers_url":"https://api.github.com/users/liewegas/followers","following_url":"https://api.github.com/users/liewegas/following{/other_user}","gists_url":"https://api.github.com/users/liewegas/gists{/gist_id}","starred_url":"https://api.github.com/users/liewegas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liewegas/subscriptions","organizations_url":"https://api.github.com/users/liewegas/orgs","repos_url":"https://api.github.com/users/liewegas/repos","events_url":"https://api.github.com/users/liewegas/events{/privacy}","received_events_url":"https://api.github.com/users/liewegas/received_events","type":"User","site_admin":false},"repo":{"id":2430918,"name":"ceph","full_name":"liewegas/ceph","owner":{"login":"liewegas","id":433031,"avatar_url":"https://avatars.githubusercontent.com/u/433031?v=3","gravatar_id":"","url":"https://api.github.com/users/liewegas","html_url":"https://github.com/liewegas","followers_url":"https://api.github.com/users/liewegas/followers","following_url":"https://api.github.com/users/liewegas/following{/other_user}","gists_url":"https://api.github.com/users/liewegas/gists{/gist_id}","starred_url":"https://api.github.com/users/liewegas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liewegas/subscriptions","organizations_url":"https://api.github.com/users/liewegas/orgs","repos_url":"https://api.github.com/users/liewegas/repos","events_url":"https://api.github.com/users/liewegas/events{/privacy}","received_events_url":"https://api.github.com/users/liewegas/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/liewegas/ceph","description":"Ceph distributed file system","fork":true,"url":"https://api.github.com/repos/liewegas/ceph","forks_url":"https://api.github.com/repos/liewegas/ceph/forks","keys_url":"https://api.github.com/repos/liewegas/ceph/keys{/key_id}","collaborators_url":"https://api.github.com/repos/liewegas/ceph/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/liewegas/ceph/teams","hooks_url":"https://api.github.com/repos/liewegas/ceph/hooks","issue_events_url":"https://api.github.com/repos/liewegas/ceph/issues/events{/number}","events_url":"https://api.github.com/repos/liewegas/ceph/events","assignees_url":"https://api.github.com/repos/liewegas/ceph/assignees{/user}","branches_url":"https://api.github.com/repos/liewegas/ceph/branches{/branch}","tags_url":"https://api.github.com/repos/liewegas/ceph/tags","blobs_url":"https://api.github.com/repos/liewegas/ceph/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/liewegas/ceph/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/liewegas/ceph/git/refs{/sha}","trees_url":"https://api.github.com/repos/liewegas/ceph/git/trees{/sha}","statuses_url":"https://api.github.com/repos/liewegas/ceph/statuses/{sha}","languages_url":"https://api.github.com/repos/liewegas/ceph/languages","stargazers_url":"https://api.github.com/repos/liewegas/ceph/stargazers","contributors_url":"https://api.github.com/repos/liewegas/ceph/contributors","subscribers_url":"https://api.github.com/repos/liewegas/ceph/subscribers","subscription_url":"https://api.github.com/repos/liewegas/ceph/subscription","commits_url":"https://api.github.com/repos/liewegas/ceph/commits{/sha}","git_commits_url":"https://api.github.com/repos/liewegas/ceph/git/commits{/sha}","comments_url":"https://api.github.com/repos/liewegas/ceph/comments{/number}","issue_comment_url":"https://api.github.com/repos/liewegas/ceph/issues/comments{/number}","contents_url":"https://api.github.com/repos/liewegas/ceph/contents/{+path}","compare_url":"https://api.github.com/repos/liewegas/ceph/compare/{base}...{head}","merges_url":"https://api.github.com/repos/liewegas/ceph/merges","archive_url":"https://api.github.com/repos/liewegas/ceph/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/liewegas/ceph/downloads","issues_url":"https://api.github.com/repos/liewegas/ceph/issues{/number}","pulls_url":"https://api.github.com/repos/liewegas/ceph/pulls{/number}","milestones_url":"https://api.github.com/repos/liewegas/ceph/milestones{/number}","notifications_url":"https://api.github.com/repos/liewegas/ceph/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/liewegas/ceph/labels{/name}","releases_url":"https://api.github.com/repos/liewegas/ceph/releases{/id}","deployments_url":"https://api.github.com/repos/liewegas/ceph/deployments","created_at":"2011-09-21T16:14:23Z","updated_at":"2016-05-02T15:47:21Z","pushed_at":"2016-05-26T14:57:15Z","git_url":"git://github.com/liewegas/ceph.git","ssh_url":"git@github.com:liewegas/ceph.git","clone_url":"https://github.com/liewegas/ceph.git","svn_url":"https://github.com/liewegas/ceph","homepage":"http://ceph.newdream.net/","size":153301,"stargazers_count":11,"watchers_count":11,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":2,"forks":4,"open_issues":2,"watchers":11,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/liewegas/ceph/pulls/21"},"html":{"href":"https://github.com/liewegas/ceph/pull/21"},"issue":{"href":"https://api.github.com/repos/liewegas/ceph/issues/21"},"comments":{"href":"https://api.github.com/repos/liewegas/ceph/issues/21/comments"},"review_comments":{"href":"https://api.github.com/repos/liewegas/ceph/pulls/21/comments"},"review_comment":{"href":"https://api.github.com/repos/liewegas/ceph/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/liewegas/ceph/pulls/21/commits"},"statuses":{"href":"https://api.github.com/repos/liewegas/ceph/statuses/89d6b96abdd135ae29bcefedc353f8090680b8f8"}}}}
{"actor":{"display_login":"liewegas"}}