{"action":"created","comment":{"url":"https://api.github.com/repos/ceph/ceph/pulls/comments/66770208","id":66770208,"diff_hunk":"@@ -1961,8 +1961,12 @@ int ReplicatedBackend::build_push_op(const ObjectRecoveryInfo &recovery_info,\n           << dendl;\n \n   if (progress.first) {\n-    store->omap_get_header(coll, ghobject_t(recovery_info.soid), &out_op->omap_header);\n-    store->getattrs(ch, ghobject_t(recovery_info.soid), out_op->attrset);\n+    int r = store->omap_get_header(coll, ghobject_t(recovery_info.soid), &out_op->omap_header);\n+    if(r < 0)\n+      return r;\n+    r = store->getattrs(ch, ghobject_t(recovery_info.soid), out_op->attrset);\n+    if(r < 0)","path":"src/osd/ReplicatedBackend.cc","position":10,"original_position":10,"commit_id":"7a1ea6b81459e1779a5fb2af9c3626d13a43d445","original_commit_id":"7a1ea6b81459e1779a5fb2af9c3626d13a43d445","user":{"login":"yuyuyu101","id":980577,"avatar_url":"https://avatars.githubusercontent.com/u/980577?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyuyu101","html_url":"https://github.com/yuyuyu101","followers_url":"https://api.github.com/users/yuyuyu101/followers","following_url":"https://api.github.com/users/yuyuyu101/following{/other_user}","gists_url":"https://api.github.com/users/yuyuyu101/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyuyu101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyuyu101/subscriptions","organizations_url":"https://api.github.com/users/yuyuyu101/orgs","repos_url":"https://api.github.com/users/yuyuyu101/repos","events_url":"https://api.github.com/users/yuyuyu101/events{/privacy}","received_events_url":"https://api.github.com/users/yuyuyu101/received_events","type":"User","site_admin":false},"body":"ditto","created_at":"2016-06-13T10:27:50Z","updated_at":"2016-06-13T10:27:50Z","html_url":"https://github.com/ceph/ceph/pull/9491#discussion_r66770208","pull_request_url":"https://api.github.com/repos/ceph/ceph/pulls/9491","_links":{"self":{"href":"https://api.github.com/repos/ceph/ceph/pulls/comments/66770208"},"html":{"href":"https://github.com/ceph/ceph/pull/9491#discussion_r66770208"},"pull_request":{"href":"https://api.github.com/repos/ceph/ceph/pulls/9491"}}},"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/9491","id":72590698,"html_url":"https://github.com/ceph/ceph/pull/9491","diff_url":"https://github.com/ceph/ceph/pull/9491.diff","patch_url":"https://github.com/ceph/ceph/pull/9491.patch","issue_url":"https://api.github.com/repos/ceph/ceph/issues/9491","number":9491,"state":"open","locked":false,"title":"osd/ReplicatedBackend: add sanity check during build_push_op()","user":{"login":"Yan-waller","id":17548747,"avatar_url":"https://avatars.githubusercontent.com/u/17548747?v=3","gravatar_id":"","url":"https://api.github.com/users/Yan-waller","html_url":"https://github.com/Yan-waller","followers_url":"https://api.github.com/users/Yan-waller/followers","following_url":"https://api.github.com/users/Yan-waller/following{/other_user}","gists_url":"https://api.github.com/users/Yan-waller/gists{/gist_id}","starred_url":"https://api.github.com/users/Yan-waller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yan-waller/subscriptions","organizations_url":"https://api.github.com/users/Yan-waller/orgs","repos_url":"https://api.github.com/users/Yan-waller/repos","events_url":"https://api.github.com/users/Yan-waller/events{/privacy}","received_events_url":"https://api.github.com/users/Yan-waller/received_events","type":"User","site_admin":false},"body":"The caller may or may not tolerate build_push_op() to return a negative result, \r\nand we shall honour the truth that it is up to him, not us.\r\n\r\nAlso this can silent the noise from the lower level API such as\r\nbuffer, which is less clear and can be rather confusing sometimes:\r\n```\r\n1: /usr/bin/ceph-osd() [0xada722]\r\n2: (()+0xf100) [0x7f9889f22100]\r\n3: (gsignal()+0x37) [0x7f988893b5f7]\r\n4: (abort()+0x148) [0x7f988893cce8]\r\n5: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7f988923f9d5]\r\n6: (()+0x5e946) [0x7f988923d946]\r\n7: (()+0x5e973) [0x7f988923d973]\r\n8: (()+0x5eb93) [0x7f988923db93]\r\n9: (ceph::buffer::list::iterator::copy(unsigned int, char*)+0x137) [0xc51707]\r\n10: (object_info_t::decode(ceph::buffer::list::iterator&)+0x7e) [0x7a236e]\r\n11: (ReplicatedBackend::build_push_op(ObjectRecoveryInfo const&, ObjectRecoveryProgress const&, ObjectRecoveryProgress*, PushOp*, object_stat_sum_t*)+0x8dc) [0xa16c0c]\r\n12: (ReplicatedBackend::prep_push(std::tr1::shared_ptr<ObjectContext>, hobject_t const&, pg_shard_t, eversion_t, interval_set<unsigned long>&, std::map<hobject_t, interval_set<unsigned long>, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, interval_set<unsigned long> > > >&, PushOp*)+0x424) [0xa17e94]\r\n13: (ReplicatedBackend::prep_push_to_replica(std::tr1::shared_ptr<ObjectContext>, hobject_t const&, pg_shard_t, PushOp*)+0x196) [0xa1eff6]\r\n14: (ReplicatedBackend::start_pushes(hobject_t const&, std::tr1::shared_ptr<ObjectContext>, ReplicatedBackend::RPGHandle*)+0x1cd) [0xa1fcad]\r\n15: (C_ReplicatedBackend_OnPullComplete::finish(ThreadPool::TPHandle&)+0x153) [0xa32173]\r\n16: (GenContext<ThreadPool::TPHandle&>::complete(ThreadPool::TPHandle&)+0x9) [0x6c5ea9]\r\n17: (ReplicatedPG::BlessedGenContext<ThreadPool::TPHandle&>::finish(ThreadPool::TPHandle&)+0x95) [0x8acbe5]\r\n18: (GenContext<ThreadPool::TPHandle&>::complete(ThreadPool::TPHandle&)+0x9) [0x6c5ea9]\r\n19: (ThreadPool::WorkQueueVal<GenContext<ThreadPool::TPHandle&>*, GenContext<ThreadPool::TPHandle&>*>::_void_process(void*, ThreadPool::TPHandle&)+0x62) [0x6c7f22]\r\n20: (ThreadPool::worker(ThreadPool::WorkThread*)+0xa76) [0xbce296]\r\n21: (ThreadPool::WorkThread::entry()+0x10) [0xbcf320]\r\n22: (()+0x7dc5) [0x7f9889f1adc5]\r\n23: (clone()+0x6d) [0x7f98889fc21d]\r\n```\r\nSigned-off-by: Yan Jun <yan.jun8@zte.com.cn>","created_at":"2016-06-04T02:46:31Z","updated_at":"2016-06-13T10:27:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e1c96c8fc4948f57bfe5e977d2d82ce7131d8b48","assignee":{"login":"yuyuyu101","id":980577,"avatar_url":"https://avatars.githubusercontent.com/u/980577?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyuyu101","html_url":"https://github.com/yuyuyu101","followers_url":"https://api.github.com/users/yuyuyu101/followers","following_url":"https://api.github.com/users/yuyuyu101/following{/other_user}","gists_url":"https://api.github.com/users/yuyuyu101/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyuyu101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyuyu101/subscriptions","organizations_url":"https://api.github.com/users/yuyuyu101/orgs","repos_url":"https://api.github.com/users/yuyuyu101/repos","events_url":"https://api.github.com/users/yuyuyu101/events{/privacy}","received_events_url":"https://api.github.com/users/yuyuyu101/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/ceph/ceph/pulls/9491/commits","review_comments_url":"https://api.github.com/repos/ceph/ceph/pulls/9491/comments","review_comment_url":"https://api.github.com/repos/ceph/ceph/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/9491/comments","statuses_url":"https://api.github.com/repos/ceph/ceph/statuses/7a1ea6b81459e1779a5fb2af9c3626d13a43d445","head":{"label":"Yan-waller:yj-wip-fixbuildpushop","ref":"yj-wip-fixbuildpushop","sha":"7a1ea6b81459e1779a5fb2af9c3626d13a43d445","user":{"login":"Yan-waller","id":17548747,"avatar_url":"https://avatars.githubusercontent.com/u/17548747?v=3","gravatar_id":"","url":"https://api.github.com/users/Yan-waller","html_url":"https://github.com/Yan-waller","followers_url":"https://api.github.com/users/Yan-waller/followers","following_url":"https://api.github.com/users/Yan-waller/following{/other_user}","gists_url":"https://api.github.com/users/Yan-waller/gists{/gist_id}","starred_url":"https://api.github.com/users/Yan-waller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yan-waller/subscriptions","organizations_url":"https://api.github.com/users/Yan-waller/orgs","repos_url":"https://api.github.com/users/Yan-waller/repos","events_url":"https://api.github.com/users/Yan-waller/events{/privacy}","received_events_url":"https://api.github.com/users/Yan-waller/received_events","type":"User","site_admin":false},"repo":{"id":53374038,"name":"ceph","full_name":"Yan-waller/ceph","owner":{"login":"Yan-waller","id":17548747,"avatar_url":"https://avatars.githubusercontent.com/u/17548747?v=3","gravatar_id":"","url":"https://api.github.com/users/Yan-waller","html_url":"https://github.com/Yan-waller","followers_url":"https://api.github.com/users/Yan-waller/followers","following_url":"https://api.github.com/users/Yan-waller/following{/other_user}","gists_url":"https://api.github.com/users/Yan-waller/gists{/gist_id}","starred_url":"https://api.github.com/users/Yan-waller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yan-waller/subscriptions","organizations_url":"https://api.github.com/users/Yan-waller/orgs","repos_url":"https://api.github.com/users/Yan-waller/repos","events_url":"https://api.github.com/users/Yan-waller/events{/privacy}","received_events_url":"https://api.github.com/users/Yan-waller/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Yan-waller/ceph","description":"Ceph is a distributed object, block, and file storage platform ","fork":true,"url":"https://api.github.com/repos/Yan-waller/ceph","forks_url":"https://api.github.com/repos/Yan-waller/ceph/forks","keys_url":"https://api.github.com/repos/Yan-waller/ceph/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Yan-waller/ceph/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Yan-waller/ceph/teams","hooks_url":"https://api.github.com/repos/Yan-waller/ceph/hooks","issue_events_url":"https://api.github.com/repos/Yan-waller/ceph/issues/events{/number}","events_url":"https://api.github.com/repos/Yan-waller/ceph/events","assignees_url":"https://api.github.com/repos/Yan-waller/ceph/assignees{/user}","branches_url":"https://api.github.com/repos/Yan-waller/ceph/branches{/branch}","tags_url":"https://api.github.com/repos/Yan-waller/ceph/tags","blobs_url":"https://api.github.com/repos/Yan-waller/ceph/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Yan-waller/ceph/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Yan-waller/ceph/git/refs{/sha}","trees_url":"https://api.github.com/repos/Yan-waller/ceph/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Yan-waller/ceph/statuses/{sha}","languages_url":"https://api.github.com/repos/Yan-waller/ceph/languages","stargazers_url":"https://api.github.com/repos/Yan-waller/ceph/stargazers","contributors_url":"https://api.github.com/repos/Yan-waller/ceph/contributors","subscribers_url":"https://api.github.com/repos/Yan-waller/ceph/subscribers","subscription_url":"https://api.github.com/repos/Yan-waller/ceph/subscription","commits_url":"https://api.github.com/repos/Yan-waller/ceph/commits{/sha}","git_commits_url":"https://api.github.com/repos/Yan-waller/ceph/git/commits{/sha}","comments_url":"https://api.github.com/repos/Yan-waller/ceph/comments{/number}","issue_comment_url":"https://api.github.com/repos/Yan-waller/ceph/issues/comments{/number}","contents_url":"https://api.github.com/repos/Yan-waller/ceph/contents/{+path}","compare_url":"https://api.github.com/repos/Yan-waller/ceph/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Yan-waller/ceph/merges","archive_url":"https://api.github.com/repos/Yan-waller/ceph/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Yan-waller/ceph/downloads","issues_url":"https://api.github.com/repos/Yan-waller/ceph/issues{/number}","pulls_url":"https://api.github.com/repos/Yan-waller/ceph/pulls{/number}","milestones_url":"https://api.github.com/repos/Yan-waller/ceph/milestones{/number}","notifications_url":"https://api.github.com/repos/Yan-waller/ceph/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Yan-waller/ceph/labels{/name}","releases_url":"https://api.github.com/repos/Yan-waller/ceph/releases{/id}","deployments_url":"https://api.github.com/repos/Yan-waller/ceph/deployments","created_at":"2016-03-08T01:58:13Z","updated_at":"2016-03-08T01:58:32Z","pushed_at":"2016-06-08T14:04:41Z","git_url":"git://github.com/Yan-waller/ceph.git","ssh_url":"git@github.com:Yan-waller/ceph.git","clone_url":"https://github.com/Yan-waller/ceph.git","svn_url":"https://github.com/Yan-waller/ceph","homepage":"http://ceph.com","size":164334,"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":"ac8c40f3e3257517f71d2af8bd26dcd264887b7f","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-06-13T03:59:48Z","pushed_at":"2016-06-13T09:17:17Z","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":218736,"stargazers_count":2230,"watchers_count":2230,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1318,"mirror_url":null,"open_issues_count":380,"forks":1318,"open_issues":380,"watchers":2230,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ceph/ceph/pulls/9491"},"html":{"href":"https://github.com/ceph/ceph/pull/9491"},"issue":{"href":"https://api.github.com/repos/ceph/ceph/issues/9491"},"comments":{"href":"https://api.github.com/repos/ceph/ceph/issues/9491/comments"},"review_comments":{"href":"https://api.github.com/repos/ceph/ceph/pulls/9491/comments"},"review_comment":{"href":"https://api.github.com/repos/ceph/ceph/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ceph/ceph/pulls/9491/commits"},"statuses":{"href":"https://api.github.com/repos/ceph/ceph/statuses/7a1ea6b81459e1779a5fb2af9c3626d13a43d445"}}}}
{"actor":{"display_login":"yuyuyu101"}}