{"action":"created","comment":{"url":"https://api.github.com/repos/opencontainers/specs/pulls/comments/50295751","id":50295751,"diff_hunk":"@@ -238,6 +238,20 @@ type Device struct {\n \tGID uint32 `json:\"gid\"`\n }\n \n+// DeviceCgroup represents a device rule for the whitelist controller\n+type DeviceCgroup struct {\n+\t// Allow or deny\n+\tAllow bool `json:\"allow\"`\n+\t// Device type, block, char, etc.\n+\tType *rune `json:\"type\"`","path":"runtime_config_linux.go","position":45,"original_position":45,"commit_id":"dfb5dadf2d012b62ba8a00dc66de006fec597a26","original_commit_id":"dfb5dadf2d012b62ba8a00dc66de006fec597a26","user":{"login":"vishh","id":7063592,"avatar_url":"https://avatars.githubusercontent.com/u/7063592?v=3","gravatar_id":"","url":"https://api.github.com/users/vishh","html_url":"https://github.com/vishh","followers_url":"https://api.github.com/users/vishh/followers","following_url":"https://api.github.com/users/vishh/following{/other_user}","gists_url":"https://api.github.com/users/vishh/gists{/gist_id}","starred_url":"https://api.github.com/users/vishh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vishh/subscriptions","organizations_url":"https://api.github.com/users/vishh/orgs","repos_url":"https://api.github.com/users/vishh/repos","events_url":"https://api.github.com/users/vishh/events{/privacy}","received_events_url":"https://api.github.com/users/vishh/received_events","type":"User","site_admin":false},"body":"This should include `\"omitempty\"` tag.","created_at":"2016-01-20T18:24:46Z","updated_at":"2016-01-20T18:24:46Z","html_url":"https://github.com/opencontainers/specs/pull/298#discussion_r50295751","pull_request_url":"https://api.github.com/repos/opencontainers/specs/pulls/298","_links":{"self":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/comments/50295751"},"html":{"href":"https://github.com/opencontainers/specs/pull/298#discussion_r50295751"},"pull_request":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/298"}}},"pull_request":{"url":"https://api.github.com/repos/opencontainers/specs/pulls/298","id":55717305,"html_url":"https://github.com/opencontainers/specs/pull/298","diff_url":"https://github.com/opencontainers/specs/pull/298.diff","patch_url":"https://github.com/opencontainers/specs/pull/298.patch","issue_url":"https://api.github.com/repos/opencontainers/specs/issues/298","number":298,"state":"open","locked":false,"title":"runtime-config-linux: Separate mknod from cgroups","user":{"login":"wking","id":209920,"avatar_url":"https://avatars.githubusercontent.com/u/209920?v=3","gravatar_id":"","url":"https://api.github.com/users/wking","html_url":"https://github.com/wking","followers_url":"https://api.github.com/users/wking/followers","following_url":"https://api.github.com/users/wking/following{/other_user}","gists_url":"https://api.github.com/users/wking/gists{/gist_id}","starred_url":"https://api.github.com/users/wking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wking/subscriptions","organizations_url":"https://api.github.com/users/wking/orgs","repos_url":"https://api.github.com/users/wking/repos","events_url":"https://api.github.com/users/wking/events{/privacy}","received_events_url":"https://api.github.com/users/wking/received_events","type":"User","site_admin":false},"body":"This is #99 rebased onto the current master, because [the idea seems\nto have new life][0].  It leaves mknod entries in **`linux.devices`**\nand moves cgroups entries into **`linux.resources.devices`**.  Quiet\nthread on the issue [here][1].\n\nThis makes it easy to distinguish between configs that call for cgroup\nadjustments (which have linux.resources entries) from those that\ndon't.  Without this split, folks interested in making that\ndistinction would have to parse the device section to determine if it\nincluded cgroup changes.  This will also make it easy to drop either\nportion ([mknod][2] or [cgroups][3]) independently of the other if the\nproject decides to do so.\n\nUsing seperate sections for mknod and cgroups also allows us to avoid\nthe complicated validation rules needed for the combined format\nmknod/cgroup (#101).\n\nNow that there is a section specific to supplying devices, I [shifted\nthe default device listing over from config-linux][5].  The `/dev/ptmx`\nentry is a bit awkward, since it's not a device, but it seemed to fit\nbetter over here.  But I would also be fine leaving it with the other\nmounts in config-linux.\n\nThe reference links are sorted into two blocks, with kernel-doc links\nsorted alphabetically followed by man pages sorted alphabetically by\nsection.\n\n[0]: http://ircbot.wl.linuxfoundation.org/meetings/opencontainers/2016/opencontainers.2016-01-06-18.03.log.html#l-36\n[1]: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/y_Fsa2_jJaM\n[2]: https://github.com/opencontainers/specs/pull/98\n[3]: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/qWHoKs8Fsrk\n[5]: https://github.com/opencontainers/specs/pull/171#discussion_r41190655","created_at":"2016-01-12T05:52:26Z","updated_at":"2016-01-20T18:24:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8b6a327f0bedfd2a53d3cab1a4c3327eda13fee5","assignee":null,"milestone":{"url":"https://api.github.com/repos/opencontainers/specs/milestones/4","html_url":"https://github.com/opencontainers/specs/milestones/v0.3.0","labels_url":"https://api.github.com/repos/opencontainers/specs/milestones/4/labels","id":1485748,"number":4,"title":"v0.3.0","description":"","creator":{"login":"vbatts","id":67049,"avatar_url":"https://avatars.githubusercontent.com/u/67049?v=3","gravatar_id":"","url":"https://api.github.com/users/vbatts","html_url":"https://github.com/vbatts","followers_url":"https://api.github.com/users/vbatts/followers","following_url":"https://api.github.com/users/vbatts/following{/other_user}","gists_url":"https://api.github.com/users/vbatts/gists{/gist_id}","starred_url":"https://api.github.com/users/vbatts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbatts/subscriptions","organizations_url":"https://api.github.com/users/vbatts/orgs","repos_url":"https://api.github.com/users/vbatts/repos","events_url":"https://api.github.com/users/vbatts/events{/privacy}","received_events_url":"https://api.github.com/users/vbatts/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":3,"state":"open","created_at":"2016-01-05T20:10:20Z","updated_at":"2016-01-19T20:57:00Z","due_on":"2016-02-03T05:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/opencontainers/specs/pulls/298/commits","review_comments_url":"https://api.github.com/repos/opencontainers/specs/pulls/298/comments","review_comment_url":"https://api.github.com/repos/opencontainers/specs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opencontainers/specs/issues/298/comments","statuses_url":"https://api.github.com/repos/opencontainers/specs/statuses/dfb5dadf2d012b62ba8a00dc66de006fec597a26","head":{"label":"wking:separate-device-cgroups-from-mknod","ref":"separate-device-cgroups-from-mknod","sha":"dfb5dadf2d012b62ba8a00dc66de006fec597a26","user":{"login":"wking","id":209920,"avatar_url":"https://avatars.githubusercontent.com/u/209920?v=3","gravatar_id":"","url":"https://api.github.com/users/wking","html_url":"https://github.com/wking","followers_url":"https://api.github.com/users/wking/followers","following_url":"https://api.github.com/users/wking/following{/other_user}","gists_url":"https://api.github.com/users/wking/gists{/gist_id}","starred_url":"https://api.github.com/users/wking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wking/subscriptions","organizations_url":"https://api.github.com/users/wking/orgs","repos_url":"https://api.github.com/users/wking/repos","events_url":"https://api.github.com/users/wking/events{/privacy}","received_events_url":"https://api.github.com/users/wking/received_events","type":"User","site_admin":false},"repo":{"id":38028795,"name":"opencontainer-specs","full_name":"wking/opencontainer-specs","owner":{"login":"wking","id":209920,"avatar_url":"https://avatars.githubusercontent.com/u/209920?v=3","gravatar_id":"","url":"https://api.github.com/users/wking","html_url":"https://github.com/wking","followers_url":"https://api.github.com/users/wking/followers","following_url":"https://api.github.com/users/wking/following{/other_user}","gists_url":"https://api.github.com/users/wking/gists{/gist_id}","starred_url":"https://api.github.com/users/wking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wking/subscriptions","organizations_url":"https://api.github.com/users/wking/orgs","repos_url":"https://api.github.com/users/wking/repos","events_url":"https://api.github.com/users/wking/events{/privacy}","received_events_url":"https://api.github.com/users/wking/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/wking/opencontainer-specs","description":"Open Container Specifications","fork":true,"url":"https://api.github.com/repos/wking/opencontainer-specs","forks_url":"https://api.github.com/repos/wking/opencontainer-specs/forks","keys_url":"https://api.github.com/repos/wking/opencontainer-specs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wking/opencontainer-specs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wking/opencontainer-specs/teams","hooks_url":"https://api.github.com/repos/wking/opencontainer-specs/hooks","issue_events_url":"https://api.github.com/repos/wking/opencontainer-specs/issues/events{/number}","events_url":"https://api.github.com/repos/wking/opencontainer-specs/events","assignees_url":"https://api.github.com/repos/wking/opencontainer-specs/assignees{/user}","branches_url":"https://api.github.com/repos/wking/opencontainer-specs/branches{/branch}","tags_url":"https://api.github.com/repos/wking/opencontainer-specs/tags","blobs_url":"https://api.github.com/repos/wking/opencontainer-specs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wking/opencontainer-specs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wking/opencontainer-specs/git/refs{/sha}","trees_url":"https://api.github.com/repos/wking/opencontainer-specs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wking/opencontainer-specs/statuses/{sha}","languages_url":"https://api.github.com/repos/wking/opencontainer-specs/languages","stargazers_url":"https://api.github.com/repos/wking/opencontainer-specs/stargazers","contributors_url":"https://api.github.com/repos/wking/opencontainer-specs/contributors","subscribers_url":"https://api.github.com/repos/wking/opencontainer-specs/subscribers","subscription_url":"https://api.github.com/repos/wking/opencontainer-specs/subscription","commits_url":"https://api.github.com/repos/wking/opencontainer-specs/commits{/sha}","git_commits_url":"https://api.github.com/repos/wking/opencontainer-specs/git/commits{/sha}","comments_url":"https://api.github.com/repos/wking/opencontainer-specs/comments{/number}","issue_comment_url":"https://api.github.com/repos/wking/opencontainer-specs/issues/comments{/number}","contents_url":"https://api.github.com/repos/wking/opencontainer-specs/contents/{+path}","compare_url":"https://api.github.com/repos/wking/opencontainer-specs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wking/opencontainer-specs/merges","archive_url":"https://api.github.com/repos/wking/opencontainer-specs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wking/opencontainer-specs/downloads","issues_url":"https://api.github.com/repos/wking/opencontainer-specs/issues{/number}","pulls_url":"https://api.github.com/repos/wking/opencontainer-specs/pulls{/number}","milestones_url":"https://api.github.com/repos/wking/opencontainer-specs/milestones{/number}","notifications_url":"https://api.github.com/repos/wking/opencontainer-specs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wking/opencontainer-specs/labels{/name}","releases_url":"https://api.github.com/repos/wking/opencontainer-specs/releases{/id}","created_at":"2015-06-25T04:59:11Z","updated_at":"2016-01-13T00:07:01Z","pushed_at":"2016-01-13T00:07:00Z","git_url":"git://github.com/wking/opencontainer-specs.git","ssh_url":"git@github.com:wking/opencontainer-specs.git","clone_url":"https://github.com/wking/opencontainer-specs.git","svn_url":"https://github.com/wking/opencontainer-specs","homepage":"http://www.opencontainers.org","size":351,"stargazers_count":1,"watchers_count":1,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"opencontainers:master","ref":"master","sha":"6aa53edc9bb13b3b02b2df072e825cb6b5f9eff4","user":{"login":"opencontainers","id":12563465,"avatar_url":"https://avatars.githubusercontent.com/u/12563465?v=3","gravatar_id":"","url":"https://api.github.com/users/opencontainers","html_url":"https://github.com/opencontainers","followers_url":"https://api.github.com/users/opencontainers/followers","following_url":"https://api.github.com/users/opencontainers/following{/other_user}","gists_url":"https://api.github.com/users/opencontainers/gists{/gist_id}","starred_url":"https://api.github.com/users/opencontainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencontainers/subscriptions","organizations_url":"https://api.github.com/users/opencontainers/orgs","repos_url":"https://api.github.com/users/opencontainers/repos","events_url":"https://api.github.com/users/opencontainers/events{/privacy}","received_events_url":"https://api.github.com/users/opencontainers/received_events","type":"Organization","site_admin":false},"repo":{"id":36960293,"name":"specs","full_name":"opencontainers/specs","owner":{"login":"opencontainers","id":12563465,"avatar_url":"https://avatars.githubusercontent.com/u/12563465?v=3","gravatar_id":"","url":"https://api.github.com/users/opencontainers","html_url":"https://github.com/opencontainers","followers_url":"https://api.github.com/users/opencontainers/followers","following_url":"https://api.github.com/users/opencontainers/following{/other_user}","gists_url":"https://api.github.com/users/opencontainers/gists{/gist_id}","starred_url":"https://api.github.com/users/opencontainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencontainers/subscriptions","organizations_url":"https://api.github.com/users/opencontainers/orgs","repos_url":"https://api.github.com/users/opencontainers/repos","events_url":"https://api.github.com/users/opencontainers/events{/privacy}","received_events_url":"https://api.github.com/users/opencontainers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opencontainers/specs","description":"Open Container Specifications","fork":false,"url":"https://api.github.com/repos/opencontainers/specs","forks_url":"https://api.github.com/repos/opencontainers/specs/forks","keys_url":"https://api.github.com/repos/opencontainers/specs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opencontainers/specs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opencontainers/specs/teams","hooks_url":"https://api.github.com/repos/opencontainers/specs/hooks","issue_events_url":"https://api.github.com/repos/opencontainers/specs/issues/events{/number}","events_url":"https://api.github.com/repos/opencontainers/specs/events","assignees_url":"https://api.github.com/repos/opencontainers/specs/assignees{/user}","branches_url":"https://api.github.com/repos/opencontainers/specs/branches{/branch}","tags_url":"https://api.github.com/repos/opencontainers/specs/tags","blobs_url":"https://api.github.com/repos/opencontainers/specs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opencontainers/specs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opencontainers/specs/git/refs{/sha}","trees_url":"https://api.github.com/repos/opencontainers/specs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opencontainers/specs/statuses/{sha}","languages_url":"https://api.github.com/repos/opencontainers/specs/languages","stargazers_url":"https://api.github.com/repos/opencontainers/specs/stargazers","contributors_url":"https://api.github.com/repos/opencontainers/specs/contributors","subscribers_url":"https://api.github.com/repos/opencontainers/specs/subscribers","subscription_url":"https://api.github.com/repos/opencontainers/specs/subscription","commits_url":"https://api.github.com/repos/opencontainers/specs/commits{/sha}","git_commits_url":"https://api.github.com/repos/opencontainers/specs/git/commits{/sha}","comments_url":"https://api.github.com/repos/opencontainers/specs/comments{/number}","issue_comment_url":"https://api.github.com/repos/opencontainers/specs/issues/comments{/number}","contents_url":"https://api.github.com/repos/opencontainers/specs/contents/{+path}","compare_url":"https://api.github.com/repos/opencontainers/specs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opencontainers/specs/merges","archive_url":"https://api.github.com/repos/opencontainers/specs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opencontainers/specs/downloads","issues_url":"https://api.github.com/repos/opencontainers/specs/issues{/number}","pulls_url":"https://api.github.com/repos/opencontainers/specs/pulls{/number}","milestones_url":"https://api.github.com/repos/opencontainers/specs/milestones{/number}","notifications_url":"https://api.github.com/repos/opencontainers/specs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opencontainers/specs/labels{/name}","releases_url":"https://api.github.com/repos/opencontainers/specs/releases{/id}","created_at":"2015-06-05T23:30:10Z","updated_at":"2016-01-20T08:08:53Z","pushed_at":"2016-01-20T15:27:29Z","git_url":"git://github.com/opencontainers/specs.git","ssh_url":"git@github.com:opencontainers/specs.git","clone_url":"https://github.com/opencontainers/specs.git","svn_url":"https://github.com/opencontainers/specs","homepage":"http://www.opencontainers.org","size":1635,"stargazers_count":598,"watchers_count":598,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":100,"mirror_url":null,"open_issues_count":30,"forks":100,"open_issues":30,"watchers":598,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/298"},"html":{"href":"https://github.com/opencontainers/specs/pull/298"},"issue":{"href":"https://api.github.com/repos/opencontainers/specs/issues/298"},"comments":{"href":"https://api.github.com/repos/opencontainers/specs/issues/298/comments"},"review_comments":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/298/comments"},"review_comment":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opencontainers/specs/pulls/298/commits"},"statuses":{"href":"https://api.github.com/repos/opencontainers/specs/statuses/dfb5dadf2d012b62ba8a00dc66de006fec597a26"}}}}