{"action":"created","comment":{"url":"https://api.github.com/repos/containerd/cri/pulls/comments/180302980","pull_request_review_id":110699262,"id":180302980,"diff_hunk":"@@ -60,6 +60,15 @@ func isLayerTar(name string) bool {\n \treturn slashes == 2 && strings.HasSuffix(name, \"/layer.tar\")\n }\n \n+// followSymlinkLayer returns actual layer name of the symlink layer.\n+func followSymlinkLayer(name string) (string, error) {","path":"pkg/containerd/importer/importer.go","position":5,"original_position":5,"commit_id":"63f273750c37dd32d9aa18d4a9e10f768c08fe27","original_commit_id":"2599c50048c5acb139485647fe52a2a71683b27c","user":{"login":"AkihiroSuda","id":9248427,"avatar_url":"https://avatars2.githubusercontent.com/u/9248427?v=4","gravatar_id":"","url":"https://api.github.com/users/AkihiroSuda","html_url":"https://github.com/AkihiroSuda","followers_url":"https://api.github.com/users/AkihiroSuda/followers","following_url":"https://api.github.com/users/AkihiroSuda/following{/other_user}","gists_url":"https://api.github.com/users/AkihiroSuda/gists{/gist_id}","starred_url":"https://api.github.com/users/AkihiroSuda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AkihiroSuda/subscriptions","organizations_url":"https://api.github.com/users/AkihiroSuda/orgs","repos_url":"https://api.github.com/users/AkihiroSuda/repos","events_url":"https://api.github.com/users/AkihiroSuda/events{/privacy}","received_events_url":"https://api.github.com/users/AkihiroSuda/received_events","type":"User","site_admin":false},"body":"SGTM but please add a comment about this to the source?\r\n","created_at":"2018-04-10T05:48:38Z","updated_at":"2018-04-10T05:48:38Z","html_url":"https://github.com/containerd/cri/pull/727#discussion_r180302980","pull_request_url":"https://api.github.com/repos/containerd/cri/pulls/727","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/containerd/cri/pulls/comments/180302980"},"html":{"href":"https://github.com/containerd/cri/pull/727#discussion_r180302980"},"pull_request":{"href":"https://api.github.com/repos/containerd/cri/pulls/727"}},"in_reply_to_id":180281199},"pull_request":{"url":"https://api.github.com/repos/containerd/cri/pulls/727","id":180446139,"html_url":"https://github.com/containerd/cri/pull/727","diff_url":"https://github.com/containerd/cri/pull/727.diff","patch_url":"https://github.com/containerd/cri/pull/727.patch","issue_url":"https://api.github.com/repos/containerd/cri/issues/727","number":727,"state":"open","locked":false,"title":"Support symlink layer in image import.","user":{"login":"Random-Liu","id":5821883,"avatar_url":"https://avatars3.githubusercontent.com/u/5821883?v=4","gravatar_id":"","url":"https://api.github.com/users/Random-Liu","html_url":"https://github.com/Random-Liu","followers_url":"https://api.github.com/users/Random-Liu/followers","following_url":"https://api.github.com/users/Random-Liu/following{/other_user}","gists_url":"https://api.github.com/users/Random-Liu/gists{/gist_id}","starred_url":"https://api.github.com/users/Random-Liu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Random-Liu/subscriptions","organizations_url":"https://api.github.com/users/Random-Liu/orgs","repos_url":"https://api.github.com/users/Random-Liu/repos","events_url":"https://api.github.com/users/Random-Liu/events{/privacy}","received_events_url":"https://api.github.com/users/Random-Liu/received_events","type":"User","site_admin":false},"body":"Fixes https://github.com/containerd/cri/issues/638.\r\n\r\nThis PR added support for symlink layers. @AkihiroSuda Does this make sense to you?\r\n\r\nNow `ctr cri load` works for `k8s.gcr.io/pause-amd64:3.0`:\r\n```console\r\n$ sudo ctr cri load test/test.tar \r\nLoaded image: k8s.gcr.io/pause-amd64:3.0\r\n```\r\n/cc @hmtai @qiujian16\r\n\r\nSigned-off-by: Lantao Liu <lantaol@google.com>","created_at":"2018-04-09T22:37:53Z","updated_at":"2018-04-10T05:48:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d3685dcff5f96e208535abf6d7781f2650dec336","assignee":{"login":"AkihiroSuda","id":9248427,"avatar_url":"https://avatars2.githubusercontent.com/u/9248427?v=4","gravatar_id":"","url":"https://api.github.com/users/AkihiroSuda","html_url":"https://github.com/AkihiroSuda","followers_url":"https://api.github.com/users/AkihiroSuda/followers","following_url":"https://api.github.com/users/AkihiroSuda/following{/other_user}","gists_url":"https://api.github.com/users/AkihiroSuda/gists{/gist_id}","starred_url":"https://api.github.com/users/AkihiroSuda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AkihiroSuda/subscriptions","organizations_url":"https://api.github.com/users/AkihiroSuda/orgs","repos_url":"https://api.github.com/users/AkihiroSuda/repos","events_url":"https://api.github.com/users/AkihiroSuda/events{/privacy}","received_events_url":"https://api.github.com/users/AkihiroSuda/received_events","type":"User","site_admin":false},"assignees":[{"login":"AkihiroSuda","id":9248427,"avatar_url":"https://avatars2.githubusercontent.com/u/9248427?v=4","gravatar_id":"","url":"https://api.github.com/users/AkihiroSuda","html_url":"https://github.com/AkihiroSuda","followers_url":"https://api.github.com/users/AkihiroSuda/followers","following_url":"https://api.github.com/users/AkihiroSuda/following{/other_user}","gists_url":"https://api.github.com/users/AkihiroSuda/gists{/gist_id}","starred_url":"https://api.github.com/users/AkihiroSuda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AkihiroSuda/subscriptions","organizations_url":"https://api.github.com/users/AkihiroSuda/orgs","repos_url":"https://api.github.com/users/AkihiroSuda/repos","events_url":"https://api.github.com/users/AkihiroSuda/events{/privacy}","received_events_url":"https://api.github.com/users/AkihiroSuda/received_events","type":"User","site_admin":false},{"login":"mikebrow","id":12767641,"avatar_url":"https://avatars0.githubusercontent.com/u/12767641?v=4","gravatar_id":"","url":"https://api.github.com/users/mikebrow","html_url":"https://github.com/mikebrow","followers_url":"https://api.github.com/users/mikebrow/followers","following_url":"https://api.github.com/users/mikebrow/following{/other_user}","gists_url":"https://api.github.com/users/mikebrow/gists{/gist_id}","starred_url":"https://api.github.com/users/mikebrow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikebrow/subscriptions","organizations_url":"https://api.github.com/users/mikebrow/orgs","repos_url":"https://api.github.com/users/mikebrow/repos","events_url":"https://api.github.com/users/mikebrow/events{/privacy}","received_events_url":"https://api.github.com/users/mikebrow/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":677857936,"url":"https://api.github.com/repos/containerd/cri/labels/size/M","name":"size/M","color":"ededed","default":false}],"milestone":{"url":"https://api.github.com/repos/containerd/cri/milestones/11","html_url":"https://github.com/containerd/cri/milestone/11","labels_url":"https://api.github.com/repos/containerd/cri/milestones/11/labels","id":3239909,"number":11,"title":"v1.0.0-rc.2","description":"","creator":{"login":"Random-Liu","id":5821883,"avatar_url":"https://avatars3.githubusercontent.com/u/5821883?v=4","gravatar_id":"","url":"https://api.github.com/users/Random-Liu","html_url":"https://github.com/Random-Liu","followers_url":"https://api.github.com/users/Random-Liu/followers","following_url":"https://api.github.com/users/Random-Liu/following{/other_user}","gists_url":"https://api.github.com/users/Random-Liu/gists{/gist_id}","starred_url":"https://api.github.com/users/Random-Liu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Random-Liu/subscriptions","organizations_url":"https://api.github.com/users/Random-Liu/orgs","repos_url":"https://api.github.com/users/Random-Liu/repos","events_url":"https://api.github.com/users/Random-Liu/events{/privacy}","received_events_url":"https://api.github.com/users/Random-Liu/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":5,"state":"open","created_at":"2018-04-03T18:31:33Z","updated_at":"2018-04-09T22:37:53Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/containerd/cri/pulls/727/commits","review_comments_url":"https://api.github.com/repos/containerd/cri/pulls/727/comments","review_comment_url":"https://api.github.com/repos/containerd/cri/pulls/comments{/number}","comments_url":"https://api.github.com/repos/containerd/cri/issues/727/comments","statuses_url":"https://api.github.com/repos/containerd/cri/statuses/63f273750c37dd32d9aa18d4a9e10f768c08fe27","head":{"label":"Random-Liu:fix-symlink-layer","ref":"fix-symlink-layer","sha":"63f273750c37dd32d9aa18d4a9e10f768c08fe27","user":{"login":"Random-Liu","id":5821883,"avatar_url":"https://avatars3.githubusercontent.com/u/5821883?v=4","gravatar_id":"","url":"https://api.github.com/users/Random-Liu","html_url":"https://github.com/Random-Liu","followers_url":"https://api.github.com/users/Random-Liu/followers","following_url":"https://api.github.com/users/Random-Liu/following{/other_user}","gists_url":"https://api.github.com/users/Random-Liu/gists{/gist_id}","starred_url":"https://api.github.com/users/Random-Liu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Random-Liu/subscriptions","organizations_url":"https://api.github.com/users/Random-Liu/orgs","repos_url":"https://api.github.com/users/Random-Liu/repos","events_url":"https://api.github.com/users/Random-Liu/events{/privacy}","received_events_url":"https://api.github.com/users/Random-Liu/received_events","type":"User","site_admin":false},"repo":{"id":88243482,"name":"cri-containerd","full_name":"Random-Liu/cri-containerd","owner":{"login":"Random-Liu","id":5821883,"avatar_url":"https://avatars3.githubusercontent.com/u/5821883?v=4","gravatar_id":"","url":"https://api.github.com/users/Random-Liu","html_url":"https://github.com/Random-Liu","followers_url":"https://api.github.com/users/Random-Liu/followers","following_url":"https://api.github.com/users/Random-Liu/following{/other_user}","gists_url":"https://api.github.com/users/Random-Liu/gists{/gist_id}","starred_url":"https://api.github.com/users/Random-Liu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Random-Liu/subscriptions","organizations_url":"https://api.github.com/users/Random-Liu/orgs","repos_url":"https://api.github.com/users/Random-Liu/repos","events_url":"https://api.github.com/users/Random-Liu/events{/privacy}","received_events_url":"https://api.github.com/users/Random-Liu/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Random-Liu/cri-containerd","description":"Containerd-based implementation of Kubernetes Container Runtime Interface","fork":true,"url":"https://api.github.com/repos/Random-Liu/cri-containerd","forks_url":"https://api.github.com/repos/Random-Liu/cri-containerd/forks","keys_url":"https://api.github.com/repos/Random-Liu/cri-containerd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Random-Liu/cri-containerd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Random-Liu/cri-containerd/teams","hooks_url":"https://api.github.com/repos/Random-Liu/cri-containerd/hooks","issue_events_url":"https://api.github.com/repos/Random-Liu/cri-containerd/issues/events{/number}","events_url":"https://api.github.com/repos/Random-Liu/cri-containerd/events","assignees_url":"https://api.github.com/repos/Random-Liu/cri-containerd/assignees{/user}","branches_url":"https://api.github.com/repos/Random-Liu/cri-containerd/branches{/branch}","tags_url":"https://api.github.com/repos/Random-Liu/cri-containerd/tags","blobs_url":"https://api.github.com/repos/Random-Liu/cri-containerd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Random-Liu/cri-containerd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Random-Liu/cri-containerd/git/refs{/sha}","trees_url":"https://api.github.com/repos/Random-Liu/cri-containerd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Random-Liu/cri-containerd/statuses/{sha}","languages_url":"https://api.github.com/repos/Random-Liu/cri-containerd/languages","stargazers_url":"https://api.github.com/repos/Random-Liu/cri-containerd/stargazers","contributors_url":"https://api.github.com/repos/Random-Liu/cri-containerd/contributors","subscribers_url":"https://api.github.com/repos/Random-Liu/cri-containerd/subscribers","subscription_url":"https://api.github.com/repos/Random-Liu/cri-containerd/subscription","commits_url":"https://api.github.com/repos/Random-Liu/cri-containerd/commits{/sha}","git_commits_url":"https://api.github.com/repos/Random-Liu/cri-containerd/git/commits{/sha}","comments_url":"https://api.github.com/repos/Random-Liu/cri-containerd/comments{/number}","issue_comment_url":"https://api.github.com/repos/Random-Liu/cri-containerd/issues/comments{/number}","contents_url":"https://api.github.com/repos/Random-Liu/cri-containerd/contents/{+path}","compare_url":"https://api.github.com/repos/Random-Liu/cri-containerd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Random-Liu/cri-containerd/merges","archive_url":"https://api.github.com/repos/Random-Liu/cri-containerd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Random-Liu/cri-containerd/downloads","issues_url":"https://api.github.com/repos/Random-Liu/cri-containerd/issues{/number}","pulls_url":"https://api.github.com/repos/Random-Liu/cri-containerd/pulls{/number}","milestones_url":"https://api.github.com/repos/Random-Liu/cri-containerd/milestones{/number}","notifications_url":"https://api.github.com/repos/Random-Liu/cri-containerd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Random-Liu/cri-containerd/labels{/name}","releases_url":"https://api.github.com/repos/Random-Liu/cri-containerd/releases{/id}","deployments_url":"https://api.github.com/repos/Random-Liu/cri-containerd/deployments","created_at":"2017-04-14T07:18:02Z","updated_at":"2018-03-23T22:08:33Z","pushed_at":"2018-04-10T05:43:39Z","git_url":"git://github.com/Random-Liu/cri-containerd.git","ssh_url":"git@github.com:Random-Liu/cri-containerd.git","clone_url":"https://github.com/Random-Liu/cri-containerd.git","svn_url":"https://github.com/Random-Liu/cri-containerd","homepage":"","size":8579,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"containerd:master","ref":"master","sha":"de0afd70ee28d102f4e187ce6f98fa75690870fe","user":{"login":"containerd","id":14037953,"avatar_url":"https://avatars1.githubusercontent.com/u/14037953?v=4","gravatar_id":"","url":"https://api.github.com/users/containerd","html_url":"https://github.com/containerd","followers_url":"https://api.github.com/users/containerd/followers","following_url":"https://api.github.com/users/containerd/following{/other_user}","gists_url":"https://api.github.com/users/containerd/gists{/gist_id}","starred_url":"https://api.github.com/users/containerd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/containerd/subscriptions","organizations_url":"https://api.github.com/users/containerd/orgs","repos_url":"https://api.github.com/users/containerd/repos","events_url":"https://api.github.com/users/containerd/events{/privacy}","received_events_url":"https://api.github.com/users/containerd/received_events","type":"Organization","site_admin":false},"repo":{"id":88211060,"name":"cri","full_name":"containerd/cri","owner":{"login":"containerd","id":14037953,"avatar_url":"https://avatars1.githubusercontent.com/u/14037953?v=4","gravatar_id":"","url":"https://api.github.com/users/containerd","html_url":"https://github.com/containerd","followers_url":"https://api.github.com/users/containerd/followers","following_url":"https://api.github.com/users/containerd/following{/other_user}","gists_url":"https://api.github.com/users/containerd/gists{/gist_id}","starred_url":"https://api.github.com/users/containerd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/containerd/subscriptions","organizations_url":"https://api.github.com/users/containerd/orgs","repos_url":"https://api.github.com/users/containerd/repos","events_url":"https://api.github.com/users/containerd/events{/privacy}","received_events_url":"https://api.github.com/users/containerd/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/containerd/cri","description":"Containerd Plugin for Kubernetes Container Runtime Interface","fork":false,"url":"https://api.github.com/repos/containerd/cri","forks_url":"https://api.github.com/repos/containerd/cri/forks","keys_url":"https://api.github.com/repos/containerd/cri/keys{/key_id}","collaborators_url":"https://api.github.com/repos/containerd/cri/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/containerd/cri/teams","hooks_url":"https://api.github.com/repos/containerd/cri/hooks","issue_events_url":"https://api.github.com/repos/containerd/cri/issues/events{/number}","events_url":"https://api.github.com/repos/containerd/cri/events","assignees_url":"https://api.github.com/repos/containerd/cri/assignees{/user}","branches_url":"https://api.github.com/repos/containerd/cri/branches{/branch}","tags_url":"https://api.github.com/repos/containerd/cri/tags","blobs_url":"https://api.github.com/repos/containerd/cri/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/containerd/cri/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/containerd/cri/git/refs{/sha}","trees_url":"https://api.github.com/repos/containerd/cri/git/trees{/sha}","statuses_url":"https://api.github.com/repos/containerd/cri/statuses/{sha}","languages_url":"https://api.github.com/repos/containerd/cri/languages","stargazers_url":"https://api.github.com/repos/containerd/cri/stargazers","contributors_url":"https://api.github.com/repos/containerd/cri/contributors","subscribers_url":"https://api.github.com/repos/containerd/cri/subscribers","subscription_url":"https://api.github.com/repos/containerd/cri/subscription","commits_url":"https://api.github.com/repos/containerd/cri/commits{/sha}","git_commits_url":"https://api.github.com/repos/containerd/cri/git/commits{/sha}","comments_url":"https://api.github.com/repos/containerd/cri/comments{/number}","issue_comment_url":"https://api.github.com/repos/containerd/cri/issues/comments{/number}","contents_url":"https://api.github.com/repos/containerd/cri/contents/{+path}","compare_url":"https://api.github.com/repos/containerd/cri/compare/{base}...{head}","merges_url":"https://api.github.com/repos/containerd/cri/merges","archive_url":"https://api.github.com/repos/containerd/cri/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/containerd/cri/downloads","issues_url":"https://api.github.com/repos/containerd/cri/issues{/number}","pulls_url":"https://api.github.com/repos/containerd/cri/pulls{/number}","milestones_url":"https://api.github.com/repos/containerd/cri/milestones{/number}","notifications_url":"https://api.github.com/repos/containerd/cri/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/containerd/cri/labels{/name}","releases_url":"https://api.github.com/repos/containerd/cri/releases{/id}","deployments_url":"https://api.github.com/repos/containerd/cri/deployments","created_at":"2017-04-13T22:20:24Z","updated_at":"2018-04-09T23:34:41Z","pushed_at":"2018-04-10T05:43:40Z","git_url":"git://github.com/containerd/cri.git","ssh_url":"git@github.com:containerd/cri.git","clone_url":"https://github.com/containerd/cri.git","svn_url":"https://github.com/containerd/cri","homepage":"","size":8569,"stargazers_count":268,"watchers_count":268,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":75,"mirror_url":null,"archived":false,"open_issues_count":46,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":75,"open_issues":46,"watchers":268,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/containerd/cri/pulls/727"},"html":{"href":"https://github.com/containerd/cri/pull/727"},"issue":{"href":"https://api.github.com/repos/containerd/cri/issues/727"},"comments":{"href":"https://api.github.com/repos/containerd/cri/issues/727/comments"},"review_comments":{"href":"https://api.github.com/repos/containerd/cri/pulls/727/comments"},"review_comment":{"href":"https://api.github.com/repos/containerd/cri/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/containerd/cri/pulls/727/commits"},"statuses":{"href":"https://api.github.com/repos/containerd/cri/statuses/63f273750c37dd32d9aa18d4a9e10f768c08fe27"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"AkihiroSuda"}}