{"action":"created","issue":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/4637","repository_url":"https://api.github.com/repos/zfsonlinux/zfs","labels_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/4637/labels{/name}","comments_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/4637/comments","events_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/4637/events","html_url":"https://github.com/zfsonlinux/zfs/pull/4637","id":154560767,"number":4637,"title":"Handle taskq creation failure in vdev_open_children()","user":{"login":"behlendorf","id":148917,"avatar_url":"https://avatars.githubusercontent.com/u/148917?v=3","gravatar_id":"","url":"https://api.github.com/users/behlendorf","html_url":"https://github.com/behlendorf","followers_url":"https://api.github.com/users/behlendorf/followers","following_url":"https://api.github.com/users/behlendorf/following{/other_user}","gists_url":"https://api.github.com/users/behlendorf/gists{/gist_id}","starred_url":"https://api.github.com/users/behlendorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/behlendorf/subscriptions","organizations_url":"https://api.github.com/users/behlendorf/orgs","repos_url":"https://api.github.com/users/behlendorf/repos","events_url":"https://api.github.com/users/behlendorf/events{/privacy}","received_events_url":"https://api.github.com/users/behlendorf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-05-12T19:21:51Z","updated_at":"2016-05-15T23:33:04Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zfsonlinux/zfs/pulls/4637","html_url":"https://github.com/zfsonlinux/zfs/pull/4637","diff_url":"https://github.com/zfsonlinux/zfs/pull/4637.diff","patch_url":"https://github.com/zfsonlinux/zfs/pull/4637.patch"},"body":"When creating and destroying pools in tight loop it's possible to\r\nexhaust the number of allowed threads on a system.  This results\r\nin taskq_create() failling an a NULL dereference.\r\n\r\nResolve the issue by dispatching vdev_open_child() to the global\r\nsystem taskq.  In the case where vdev_open_children() is called\r\nfrom a system_taskq worker thread vdev_open_child() is processed\r\nsequentially.\r\n\r\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nIssue zfsonlinux/spl#521"},"comment":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/comments/219320747","html_url":"https://github.com/zfsonlinux/zfs/pull/4637#issuecomment-219320747","issue_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/4637","id":219320747,"user":{"login":"behlendorf","id":148917,"avatar_url":"https://avatars.githubusercontent.com/u/148917?v=3","gravatar_id":"","url":"https://api.github.com/users/behlendorf","html_url":"https://github.com/behlendorf","followers_url":"https://api.github.com/users/behlendorf/followers","following_url":"https://api.github.com/users/behlendorf/following{/other_user}","gists_url":"https://api.github.com/users/behlendorf/gists{/gist_id}","starred_url":"https://api.github.com/users/behlendorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/behlendorf/subscriptions","organizations_url":"https://api.github.com/users/behlendorf/orgs","repos_url":"https://api.github.com/users/behlendorf/repos","events_url":"https://api.github.com/users/behlendorf/events{/privacy}","received_events_url":"https://api.github.com/users/behlendorf/received_events","type":"User","site_admin":false},"created_at":"2016-05-15T23:33:04Z","updated_at":"2016-05-15T23:33:04Z","body":"@rtvd this is basically what the updated patch does except it allocates an array of the correct size to minimize the complexity."}}