{"action":"created","issue":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/494","repository_url":"https://api.github.com/repos/zfsonlinux/zfs","labels_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/494/labels{/name}","comments_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/494/comments","events_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/494/events","html_url":"https://github.com/zfsonlinux/zfs/issues/494","id":2555322,"number":494,"title":"ZFS Crypto support","user":{"login":"FransUrbo","id":572706,"avatar_url":"https://avatars.githubusercontent.com/u/572706?v=3","gravatar_id":"","url":"https://api.github.com/users/FransUrbo","html_url":"https://github.com/FransUrbo","followers_url":"https://api.github.com/users/FransUrbo/followers","following_url":"https://api.github.com/users/FransUrbo/following{/other_user}","gists_url":"https://api.github.com/users/FransUrbo/gists{/gist_id}","starred_url":"https://api.github.com/users/FransUrbo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FransUrbo/subscriptions","organizations_url":"https://api.github.com/users/FransUrbo/orgs","repos_url":"https://api.github.com/users/FransUrbo/repos","events_url":"https://api.github.com/users/FransUrbo/events{/privacy}","received_events_url":"https://api.github.com/users/FransUrbo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zfsonlinux/zfs/labels/Difficulty%20-%20Hard","name":"Difficulty - Hard","color":"207de5"},{"url":"https://api.github.com/repos/zfsonlinux/zfs/labels/Feature","name":"Feature","color":"02d7e1"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":149,"created_at":"2011-12-14T17:36:57Z","updated_at":"2016-03-14T07:17:53Z","closed_at":null,"body":"As of ZFS Pool Version 30, there is support for encryption. This part is unfortunatly closed source, so an opensource implementation would be required. That means it would probably not be compatible with the Solaris version 'but who cares' :).\r\n\r\nIllumos is apparently working on this at https://www.illumos.org/projects/zfs-crypto. Source repository can be found at https://bitbucket.org/buffyg/illumos-zfs-crypto. Unfortunatly there is no changes since the fork from illumos-gate. Should ZoL start thinking about this or should we just take the back seat?\r\n\r\nDon't know how big of a problem this would be, but 'copying' the way that LUKS (Linux Unified Key Setup) do it seems to be a good place to start."},"comment":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/comments/196176705","html_url":"https://github.com/zfsonlinux/zfs/issues/494#issuecomment-196176705","issue_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/494","id":196176705,"user":{"login":"tcaputi","id":1920053,"avatar_url":"https://avatars.githubusercontent.com/u/1920053?v=3","gravatar_id":"","url":"https://api.github.com/users/tcaputi","html_url":"https://github.com/tcaputi","followers_url":"https://api.github.com/users/tcaputi/followers","following_url":"https://api.github.com/users/tcaputi/following{/other_user}","gists_url":"https://api.github.com/users/tcaputi/gists{/gist_id}","starred_url":"https://api.github.com/users/tcaputi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tcaputi/subscriptions","organizations_url":"https://api.github.com/users/tcaputi/orgs","repos_url":"https://api.github.com/users/tcaputi/repos","events_url":"https://api.github.com/users/tcaputi/events{/privacy}","received_events_url":"https://api.github.com/users/tcaputi/received_events","type":"User","site_admin":false},"created_at":"2016-03-14T07:17:53Z","updated_at":"2016-03-14T07:17:53Z","body":"@sempervictus: Since I posted the question I found arc_buf_header_t, pointed to by arc_buf_t, which appears to be 1-1 mapped. This struct does have a field for flags, which solves the space problem. I'm still not sure what changes would need to be made to the ARC for this to work. From the top of my head, I know that the ARC has a hashmap of buffers, and I imagine trying to maintain 2 copies of the same buffer in that hashmap could cause problems, since the second one would attempt take the first's place. Short of any other suggestions I plan on spending a lot of time tomorrow reading through arc.c."}}