{"action":"created","issue":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/9673","repository_url":"https://api.github.com/repos/zfsonlinux/zfs","labels_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/9673/labels{/name}","comments_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/9673/comments","events_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/9673/events","html_url":"https://github.com/zfsonlinux/zfs/pull/9673","id":532520010,"node_id":"MDExOlB1bGxSZXF1ZXN0MzQ4NzUxMzcy","number":9673,"title":"[WIP | DO NOT MERGE] zstd restructuring","user":{"login":"c0d3z3r0","id":6205797,"node_id":"MDQ6VXNlcjYyMDU3OTc=","avatar_url":"https://avatars3.githubusercontent.com/u/6205797?v=4","gravatar_id":"","url":"https://api.github.com/users/c0d3z3r0","html_url":"https://github.com/c0d3z3r0","followers_url":"https://api.github.com/users/c0d3z3r0/followers","following_url":"https://api.github.com/users/c0d3z3r0/following{/other_user}","gists_url":"https://api.github.com/users/c0d3z3r0/gists{/gist_id}","starred_url":"https://api.github.com/users/c0d3z3r0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/c0d3z3r0/subscriptions","organizations_url":"https://api.github.com/users/c0d3z3r0/orgs","repos_url":"https://api.github.com/users/c0d3z3r0/repos","events_url":"https://api.github.com/users/c0d3z3r0/events{/privacy}","received_events_url":"https://api.github.com/users/c0d3z3r0/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":255,"created_at":"2019-12-04T08:18:05Z","updated_at":"2019-12-13T15:25:06Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/zfsonlinux/zfs/pulls/9673","html_url":"https://github.com/zfsonlinux/zfs/pull/9673","diff_url":"https://github.com/zfsonlinux/zfs/pull/9673.diff","patch_url":"https://github.com/zfsonlinux/zfs/pull/9673.patch"},"body":"This is the WIP PR / branch where restructuring of #8941 and all related work happens (main parts of the code from @BrainSlayer and @allanjude).\r\n\r\nMain goals:\r\n- keep zstd clean and untouched to make updates easy\r\n- clean up the code (drop unneeded/unused code)\r\n- add more documentation\r\n- ...\r\n- get this thing ready for final review (we will open a separate, clean PR for final review, so that nobody has to read our 9 000 comments :P)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/comments/565481755","html_url":"https://github.com/zfsonlinux/zfs/pull/9673#issuecomment-565481755","issue_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/9673","id":565481755,"node_id":"MDEyOklzc3VlQ29tbWVudDU2NTQ4MTc1NQ==","user":{"login":"Ornias1993","id":7613738,"node_id":"MDQ6VXNlcjc2MTM3Mzg=","avatar_url":"https://avatars2.githubusercontent.com/u/7613738?v=4","gravatar_id":"","url":"https://api.github.com/users/Ornias1993","html_url":"https://github.com/Ornias1993","followers_url":"https://api.github.com/users/Ornias1993/followers","following_url":"https://api.github.com/users/Ornias1993/following{/other_user}","gists_url":"https://api.github.com/users/Ornias1993/gists{/gist_id}","starred_url":"https://api.github.com/users/Ornias1993/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ornias1993/subscriptions","organizations_url":"https://api.github.com/users/Ornias1993/orgs","repos_url":"https://api.github.com/users/Ornias1993/repos","events_url":"https://api.github.com/users/Ornias1993/events{/privacy}","received_events_url":"https://api.github.com/users/Ornias1993/received_events","type":"User","site_admin":false},"created_at":"2019-12-13T15:25:05Z","updated_at":"2019-12-13T15:25:05Z","author_association":"CONTRIBUTOR","body":"@c0d3z3r0 What of this description is still valid?\r\n\r\n> Rather than the approached used when gzip was added, of using a separate compression type for each different level, I instead added a new hidden property, compression_level. All of the zstd levels use the single entry in the zio_compress enum, since all levels use the same decompression function. However, in some cases, it was necessary to know what level a block was compressed with in other parts of the code, so the compression level is stored on disk inline with the data, after the compression header (uncompressed size). The level is plumbed through arc_buf_hdr_t, objset_t, and zio_prop_t. There may be additional places where this needs to be added still."}}
{"actor":{"display_login":"Ornias1993"}}