{"action":"created","comment":{"url":"https://api.github.com/repos/openzfs/openzfs/pulls/comments/71918004","id":71918004,"diff_hunk":"@@ -5469,26 +5472,28 @@ spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t unspare)\n \t\t * in this pool.\n \t\t */\n \t\tif (vd == NULL || unspare) {\n+\t\t\tvd = spa_lookup_by_guid(spa, guid, B_TRUE);","path":"usr/src/uts/common/fs/zfs/spa.c","position":21,"original_position":21,"commit_id":"5b915c854ec51b5c572a3918219b4d6e4b3fc30c","original_commit_id":"5b915c854ec51b5c572a3918219b4d6e4b3fc30c","user":{"login":"grwilson","id":595369,"avatar_url":"https://avatars.githubusercontent.com/u/595369?v=3","gravatar_id":"","url":"https://api.github.com/users/grwilson","html_url":"https://github.com/grwilson","followers_url":"https://api.github.com/users/grwilson/followers","following_url":"https://api.github.com/users/grwilson/following{/other_user}","gists_url":"https://api.github.com/users/grwilson/gists{/gist_id}","starred_url":"https://api.github.com/users/grwilson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grwilson/subscriptions","organizations_url":"https://api.github.com/users/grwilson/orgs","repos_url":"https://api.github.com/users/grwilson/repos","events_url":"https://api.github.com/users/grwilson/events{/privacy}","received_events_url":"https://api.github.com/users/grwilson/received_events","type":"User","site_admin":false},"body":"just a nit: we only need to do the spa_lookup_by_guid when the vd is NULL","created_at":"2016-07-22T17:49:46Z","updated_at":"2016-07-22T17:49:46Z","html_url":"https://github.com/openzfs/openzfs/pull/135#discussion_r71918004","pull_request_url":"https://api.github.com/repos/openzfs/openzfs/pulls/135","_links":{"self":{"href":"https://api.github.com/repos/openzfs/openzfs/pulls/comments/71918004"},"html":{"href":"https://github.com/openzfs/openzfs/pull/135#discussion_r71918004"},"pull_request":{"href":"https://api.github.com/repos/openzfs/openzfs/pulls/135"}}},"pull_request":{"url":"https://api.github.com/repos/openzfs/openzfs/pulls/135","id":75026944,"html_url":"https://github.com/openzfs/openzfs/pull/135","diff_url":"https://github.com/openzfs/openzfs/pull/135.diff","patch_url":"https://github.com/openzfs/openzfs/pull/135.patch","issue_url":"https://api.github.com/repos/openzfs/openzfs/issues/135","number":135,"state":"open","locked":false,"title":"7136 ESC_VDEV_REMOVE_AUX ought to always include vdev information","user":{"login":"asomers","id":129721,"avatar_url":"https://avatars.githubusercontent.com/u/129721?v=3","gravatar_id":"","url":"https://api.github.com/users/asomers","html_url":"https://github.com/asomers","followers_url":"https://api.github.com/users/asomers/followers","following_url":"https://api.github.com/users/asomers/following{/other_user}","gists_url":"https://api.github.com/users/asomers/gists{/gist_id}","starred_url":"https://api.github.com/users/asomers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asomers/subscriptions","organizations_url":"https://api.github.com/users/asomers/orgs","repos_url":"https://api.github.com/users/asomers/repos","events_url":"https://api.github.com/users/asomers/events{/privacy}","received_events_url":"https://api.github.com/users/asomers/received_events","type":"User","site_admin":false},"body":"This supersedes pull request #134 \r\n\r\n7136 ESC_VDEV_REMOVE_AUX ought to always include vdev information\r\n7115 6922 generates ESC_ZFS_VDEV_REMOVE_AUX a bit too often\r\n\r\nusr/src/uts/common/fs/zfs/spa.c\r\n\tSplit spa_event_notify into two functions: one that creates an\r\n\tevent and one that posts it.  Modify spa_remove_vdev to use the\r\n\tnew functions.  This way there are no use-after-free's and no\r\n\tpost-before-remove races.  Also, in spa_remove_vdev, always\r\n\tlookup the vdev for an aux device and include its attributes in\r\n\tthe generated event.","created_at":"2016-06-23T21:03:57Z","updated_at":"2016-07-22T17:49:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"211342d2983fd4e92db5521891bc8dd0668ff939","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/openzfs/openzfs/pulls/135/commits","review_comments_url":"https://api.github.com/repos/openzfs/openzfs/pulls/135/comments","review_comment_url":"https://api.github.com/repos/openzfs/openzfs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openzfs/openzfs/issues/135/comments","statuses_url":"https://api.github.com/repos/openzfs/openzfs/statuses/5b915c854ec51b5c572a3918219b4d6e4b3fc30c","head":{"label":"asomers:7136","ref":"7136","sha":"5b915c854ec51b5c572a3918219b4d6e4b3fc30c","user":{"login":"asomers","id":129721,"avatar_url":"https://avatars.githubusercontent.com/u/129721?v=3","gravatar_id":"","url":"https://api.github.com/users/asomers","html_url":"https://github.com/asomers","followers_url":"https://api.github.com/users/asomers/followers","following_url":"https://api.github.com/users/asomers/following{/other_user}","gists_url":"https://api.github.com/users/asomers/gists{/gist_id}","starred_url":"https://api.github.com/users/asomers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asomers/subscriptions","organizations_url":"https://api.github.com/users/asomers/orgs","repos_url":"https://api.github.com/users/asomers/repos","events_url":"https://api.github.com/users/asomers/events{/privacy}","received_events_url":"https://api.github.com/users/asomers/received_events","type":"User","site_admin":false},"repo":{"id":49979779,"name":"openzfs","full_name":"asomers/openzfs","owner":{"login":"asomers","id":129721,"avatar_url":"https://avatars.githubusercontent.com/u/129721?v=3","gravatar_id":"","url":"https://api.github.com/users/asomers","html_url":"https://github.com/asomers","followers_url":"https://api.github.com/users/asomers/followers","following_url":"https://api.github.com/users/asomers/following{/other_user}","gists_url":"https://api.github.com/users/asomers/gists{/gist_id}","starred_url":"https://api.github.com/users/asomers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asomers/subscriptions","organizations_url":"https://api.github.com/users/asomers/orgs","repos_url":"https://api.github.com/users/asomers/repos","events_url":"https://api.github.com/users/asomers/events{/privacy}","received_events_url":"https://api.github.com/users/asomers/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/asomers/openzfs","description":"OpenZFS is a storage platform that encompasses the functionality of traditional filesystems and volume managers, delivering enterprise reliability, modern functionality, and consistent performance in an easy to administer package on several operating system platforms.","fork":true,"url":"https://api.github.com/repos/asomers/openzfs","forks_url":"https://api.github.com/repos/asomers/openzfs/forks","keys_url":"https://api.github.com/repos/asomers/openzfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/asomers/openzfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/asomers/openzfs/teams","hooks_url":"https://api.github.com/repos/asomers/openzfs/hooks","issue_events_url":"https://api.github.com/repos/asomers/openzfs/issues/events{/number}","events_url":"https://api.github.com/repos/asomers/openzfs/events","assignees_url":"https://api.github.com/repos/asomers/openzfs/assignees{/user}","branches_url":"https://api.github.com/repos/asomers/openzfs/branches{/branch}","tags_url":"https://api.github.com/repos/asomers/openzfs/tags","blobs_url":"https://api.github.com/repos/asomers/openzfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/asomers/openzfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/asomers/openzfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/asomers/openzfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/asomers/openzfs/statuses/{sha}","languages_url":"https://api.github.com/repos/asomers/openzfs/languages","stargazers_url":"https://api.github.com/repos/asomers/openzfs/stargazers","contributors_url":"https://api.github.com/repos/asomers/openzfs/contributors","subscribers_url":"https://api.github.com/repos/asomers/openzfs/subscribers","subscription_url":"https://api.github.com/repos/asomers/openzfs/subscription","commits_url":"https://api.github.com/repos/asomers/openzfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/asomers/openzfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/asomers/openzfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/asomers/openzfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/asomers/openzfs/contents/{+path}","compare_url":"https://api.github.com/repos/asomers/openzfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/asomers/openzfs/merges","archive_url":"https://api.github.com/repos/asomers/openzfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/asomers/openzfs/downloads","issues_url":"https://api.github.com/repos/asomers/openzfs/issues{/number}","pulls_url":"https://api.github.com/repos/asomers/openzfs/pulls{/number}","milestones_url":"https://api.github.com/repos/asomers/openzfs/milestones{/number}","notifications_url":"https://api.github.com/repos/asomers/openzfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/asomers/openzfs/labels{/name}","releases_url":"https://api.github.com/repos/asomers/openzfs/releases{/id}","deployments_url":"https://api.github.com/repos/asomers/openzfs/deployments","created_at":"2016-01-19T20:09:04Z","updated_at":"2016-01-19T20:11:57Z","pushed_at":"2016-06-23T21:02:09Z","git_url":"git://github.com/asomers/openzfs.git","ssh_url":"git@github.com:asomers/openzfs.git","clone_url":"https://github.com/asomers/openzfs.git","svn_url":"https://github.com/asomers/openzfs","homepage":"http://open-zfs.org","size":253322,"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":"openzfs:master","ref":"master","sha":"87363ab869c5b1f0f52ea3f069a341c6412b0a8b","user":{"login":"openzfs","id":4510897,"avatar_url":"https://avatars.githubusercontent.com/u/4510897?v=3","gravatar_id":"","url":"https://api.github.com/users/openzfs","html_url":"https://github.com/openzfs","followers_url":"https://api.github.com/users/openzfs/followers","following_url":"https://api.github.com/users/openzfs/following{/other_user}","gists_url":"https://api.github.com/users/openzfs/gists{/gist_id}","starred_url":"https://api.github.com/users/openzfs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openzfs/subscriptions","organizations_url":"https://api.github.com/users/openzfs/orgs","repos_url":"https://api.github.com/users/openzfs/repos","events_url":"https://api.github.com/users/openzfs/events{/privacy}","received_events_url":"https://api.github.com/users/openzfs/received_events","type":"Organization","site_admin":false},"repo":{"id":44220580,"name":"openzfs","full_name":"openzfs/openzfs","owner":{"login":"openzfs","id":4510897,"avatar_url":"https://avatars.githubusercontent.com/u/4510897?v=3","gravatar_id":"","url":"https://api.github.com/users/openzfs","html_url":"https://github.com/openzfs","followers_url":"https://api.github.com/users/openzfs/followers","following_url":"https://api.github.com/users/openzfs/following{/other_user}","gists_url":"https://api.github.com/users/openzfs/gists{/gist_id}","starred_url":"https://api.github.com/users/openzfs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openzfs/subscriptions","organizations_url":"https://api.github.com/users/openzfs/orgs","repos_url":"https://api.github.com/users/openzfs/repos","events_url":"https://api.github.com/users/openzfs/events{/privacy}","received_events_url":"https://api.github.com/users/openzfs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openzfs/openzfs","description":"OpenZFS is a storage platform that encompasses the functionality of traditional filesystems and volume managers, delivering enterprise reliability, modern functionality, and consistent performance in an easy to administer package on several operating system platforms.","fork":true,"url":"https://api.github.com/repos/openzfs/openzfs","forks_url":"https://api.github.com/repos/openzfs/openzfs/forks","keys_url":"https://api.github.com/repos/openzfs/openzfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openzfs/openzfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openzfs/openzfs/teams","hooks_url":"https://api.github.com/repos/openzfs/openzfs/hooks","issue_events_url":"https://api.github.com/repos/openzfs/openzfs/issues/events{/number}","events_url":"https://api.github.com/repos/openzfs/openzfs/events","assignees_url":"https://api.github.com/repos/openzfs/openzfs/assignees{/user}","branches_url":"https://api.github.com/repos/openzfs/openzfs/branches{/branch}","tags_url":"https://api.github.com/repos/openzfs/openzfs/tags","blobs_url":"https://api.github.com/repos/openzfs/openzfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openzfs/openzfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openzfs/openzfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/openzfs/openzfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openzfs/openzfs/statuses/{sha}","languages_url":"https://api.github.com/repos/openzfs/openzfs/languages","stargazers_url":"https://api.github.com/repos/openzfs/openzfs/stargazers","contributors_url":"https://api.github.com/repos/openzfs/openzfs/contributors","subscribers_url":"https://api.github.com/repos/openzfs/openzfs/subscribers","subscription_url":"https://api.github.com/repos/openzfs/openzfs/subscription","commits_url":"https://api.github.com/repos/openzfs/openzfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/openzfs/openzfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/openzfs/openzfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/openzfs/openzfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/openzfs/openzfs/contents/{+path}","compare_url":"https://api.github.com/repos/openzfs/openzfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openzfs/openzfs/merges","archive_url":"https://api.github.com/repos/openzfs/openzfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openzfs/openzfs/downloads","issues_url":"https://api.github.com/repos/openzfs/openzfs/issues{/number}","pulls_url":"https://api.github.com/repos/openzfs/openzfs/pulls{/number}","milestones_url":"https://api.github.com/repos/openzfs/openzfs/milestones{/number}","notifications_url":"https://api.github.com/repos/openzfs/openzfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openzfs/openzfs/labels{/name}","releases_url":"https://api.github.com/repos/openzfs/openzfs/releases{/id}","deployments_url":"https://api.github.com/repos/openzfs/openzfs/deployments","created_at":"2015-10-14T03:03:50Z","updated_at":"2016-07-01T17:37:34Z","pushed_at":"2016-07-20T23:01:03Z","git_url":"git://github.com/openzfs/openzfs.git","ssh_url":"git@github.com:openzfs/openzfs.git","clone_url":"https://github.com/openzfs/openzfs.git","svn_url":"https://github.com/openzfs/openzfs","homepage":"http://open-zfs.org","size":254784,"stargazers_count":73,"watchers_count":73,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":27,"mirror_url":null,"open_issues_count":28,"forks":27,"open_issues":28,"watchers":73,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openzfs/openzfs/pulls/135"},"html":{"href":"https://github.com/openzfs/openzfs/pull/135"},"issue":{"href":"https://api.github.com/repos/openzfs/openzfs/issues/135"},"comments":{"href":"https://api.github.com/repos/openzfs/openzfs/issues/135/comments"},"review_comments":{"href":"https://api.github.com/repos/openzfs/openzfs/pulls/135/comments"},"review_comment":{"href":"https://api.github.com/repos/openzfs/openzfs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openzfs/openzfs/pulls/135/commits"},"statuses":{"href":"https://api.github.com/repos/openzfs/openzfs/statuses/5b915c854ec51b5c572a3918219b4d6e4b3fc30c"}}}}
{"actor":{"display_login":"grwilson"}}