{"action":"created","issue":{"url":"https://api.github.com/repos/contiv/volplugin/issues/176","repository_url":"https://api.github.com/repos/contiv/volplugin","labels_url":"https://api.github.com/repos/contiv/volplugin/issues/176/labels{/name}","comments_url":"https://api.github.com/repos/contiv/volplugin/issues/176/comments","events_url":"https://api.github.com/repos/contiv/volplugin/issues/176/events","html_url":"https://github.com/contiv/volplugin/pull/176","id":140645058,"number":176,"title":"volsupervisor: rewritten","user":{"login":"erikh","id":18923,"avatar_url":"https://avatars.githubusercontent.com/u/18923?v=3","gravatar_id":"","url":"https://api.github.com/users/erikh","html_url":"https://github.com/erikh","followers_url":"https://api.github.com/users/erikh/followers","following_url":"https://api.github.com/users/erikh/following{/other_user}","gists_url":"https://api.github.com/users/erikh/gists{/gist_id}","starred_url":"https://api.github.com/users/erikh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikh/subscriptions","organizations_url":"https://api.github.com/users/erikh/orgs","repos_url":"https://api.github.com/users/erikh/repos","events_url":"https://api.github.com/users/erikh/events{/privacy}","received_events_url":"https://api.github.com/users/erikh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-14T11:19:22Z","updated_at":"2016-03-14T18:12:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/contiv/volplugin/pulls/176","html_url":"https://github.com/contiv/volplugin/pull/176","diff_url":"https://github.com/contiv/volplugin/pull/176.diff","patch_url":"https://github.com/contiv/volplugin/pull/176.patch"},"body":"This rearchitects the volsupervisor and many things around it.\r\n\r\nA limited changelog:\r\n\r\n* Add functionality to take multiple locks at once\r\n  * lock.ExecuteWithMultiUseLock() takes multiple use locks, a wait attribute,\r\n    and a timeout.\r\n  * Snapshot locks are now in use:\r\n    * remove operations now take a snapshot lock as well as a mount lock; this\r\n      allows it to remove volumes and their snapshots.\r\n* Watch interface changes:\r\n  * watch.Watch is now the core unit of transfer; each function is required to\r\n    set Config on its way out.\r\n* Config changes:\r\n  * config.WatchGlobal uses watch.Watch interface\r\n  * config.WatchVolume is new and uses the watch.Watch interface. Consumed by\r\n    volsupervisor.\r\n* Volsupervisor:\r\n  * Rewritten from the ground up\r\n  * Now schedules each snapshot create/prune in a goroutine, allowing multiple,\r\n    independent snapshots to be taken at the same time.\r\n\r\nSigned-off-by: Erik Hollensbe <erik+github@hollensbe.org>\r\n\r\nFixes #156"},"comment":{"url":"https://api.github.com/repos/contiv/volplugin/issues/comments/196449452","html_url":"https://github.com/contiv/volplugin/pull/176#issuecomment-196449452","issue_url":"https://api.github.com/repos/contiv/volplugin/issues/176","id":196449452,"user":{"login":"erikh","id":18923,"avatar_url":"https://avatars.githubusercontent.com/u/18923?v=3","gravatar_id":"","url":"https://api.github.com/users/erikh","html_url":"https://github.com/erikh","followers_url":"https://api.github.com/users/erikh/followers","following_url":"https://api.github.com/users/erikh/following{/other_user}","gists_url":"https://api.github.com/users/erikh/gists{/gist_id}","starred_url":"https://api.github.com/users/erikh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikh/subscriptions","organizations_url":"https://api.github.com/users/erikh/orgs","repos_url":"https://api.github.com/users/erikh/repos","events_url":"https://api.github.com/users/erikh/events{/privacy}","received_events_url":"https://api.github.com/users/erikh/received_events","type":"User","site_admin":false},"created_at":"2016-03-14T18:12:25Z","updated_at":"2016-03-14T18:12:25Z","body":"@mapuri is busy today so I'm just going to merge this so we can move forward."}}