{"action":"created","issue":{"url":"https://api.github.com/repos/docker/docker/issues/15516","labels_url":"https://api.github.com/repos/docker/docker/issues/15516/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker/issues/15516/comments","events_url":"https://api.github.com/repos/docker/docker/issues/15516/events","html_url":"https://github.com/docker/docker/pull/15516","id":100495919,"number":15516,"title":"Graphdriver for ploop","user":{"login":"kolyshkin","id":4522509,"avatar_url":"https://avatars.githubusercontent.com/u/4522509?v=3","gravatar_id":"","url":"https://api.github.com/users/kolyshkin","html_url":"https://github.com/kolyshkin","followers_url":"https://api.github.com/users/kolyshkin/followers","following_url":"https://api.github.com/users/kolyshkin/following{/other_user}","gists_url":"https://api.github.com/users/kolyshkin/gists{/gist_id}","starred_url":"https://api.github.com/users/kolyshkin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kolyshkin/subscriptions","organizations_url":"https://api.github.com/users/kolyshkin/orgs","repos_url":"https://api.github.com/users/kolyshkin/repos","events_url":"https://api.github.com/users/kolyshkin/events{/privacy}","received_events_url":"https://api.github.com/users/kolyshkin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/docker/labels/status/1-design-review","name":"status/1-design-review","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-08-12T08:48:36Z","updated_at":"2015-08-14T01:14:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/docker/pulls/15516","html_url":"https://github.com/docker/docker/pull/15516","diff_url":"https://github.com/docker/docker/pull/15516.diff","patch_url":"https://github.com/docker/docker/pull/15516.patch"},"body":"This is a ploop graphdriver I've been working on for the last weeks,\r\nready for merging (all commits squashed).\r\n\r\n## Stability\r\nIt has been tested with various tests (github.com/crosbymichael/docker-stress,\r\ngithub.com/spotify/docker-stress, docker build etc) in different combinations and\r\nthere are currently no bugs I am aware of.\r\n\r\n## Performance\r\nIn-container disk read/write performance should be very good,\r\nclose to ext4 on host (I haven't measured it since it's not something\r\nthis driver can change, ploop is implemented in the kernel).\r\n\r\nMetadata (i.e. image create/clone/destroy) performance (as measured\r\nby github.com/crosbymichael/docker-stress with high parallelism)\r\nseems to be good enough (10-20% slower than btrfs which appears\r\nto be the fastest one, and much faster than dm-thinp on loopback\r\nor ZFS).\r\n\r\nDisk footprint is about 10% worse than that of ZFS, which appears\r\nto be the best overall.\r\n\r\nNote I haven't tried overlay or vfs graphdrivers.\r\n\r\nFor more details, please see [daemon/graphdriver/ploop/README.md](https://github.com/kolyshkin/docker/blob/ploop-merge/daemon/graphdriver/ploop/README.md)"},"comment":{"url":"https://api.github.com/repos/docker/docker/issues/comments/130908565","html_url":"https://github.com/docker/docker/pull/15516#issuecomment-130908565","issue_url":"https://api.github.com/repos/docker/docker/issues/15516","id":130908565,"user":{"login":"kolyshkin","id":4522509,"avatar_url":"https://avatars.githubusercontent.com/u/4522509?v=3","gravatar_id":"","url":"https://api.github.com/users/kolyshkin","html_url":"https://github.com/kolyshkin","followers_url":"https://api.github.com/users/kolyshkin/followers","following_url":"https://api.github.com/users/kolyshkin/following{/other_user}","gists_url":"https://api.github.com/users/kolyshkin/gists{/gist_id}","starred_url":"https://api.github.com/users/kolyshkin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kolyshkin/subscriptions","organizations_url":"https://api.github.com/users/kolyshkin/orgs","repos_url":"https://api.github.com/users/kolyshkin/repos","events_url":"https://api.github.com/users/kolyshkin/events{/privacy}","received_events_url":"https://api.github.com/users/kolyshkin/received_events","type":"User","site_admin":false},"created_at":"2015-08-14T01:14:19Z","updated_at":"2015-08-14T01:14:19Z","body":"@LK4D4 \r\n> Also you can search repo for exclude_graphdriver_* buildtags\r\n\r\nIt's already there in ``daemon/daemon_ploop.go``:\r\n```go\r\n// +build !exclude_graphdriver_ploop,linux\r\n\r\npackage daemon\r\n\r\nimport (\r\n        _ \"github.com/docker/docker/daemon/graphdriver/ploop\"\r\n)\r\n```\r\nI just realized I forgot to ``git add`` it while doing a rebase :(\r\n\r\nI also see that all the graphdrivers are enabled by default. So, do you mean I should reverse the logic, i.e. do something like this?\r\n\r\n```go\r\n// +build include_graphdriver_ploop,linux\r\n\r\npackage daemon\r\n\r\nimport (\r\n        _ \"github.com/docker/docker/daemon/graphdriver/ploop\"\r\n)\r\n```\r\n"}}