{"action":"created","issue":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/3828","labels_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/3828/labels{/name}","comments_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/3828/comments","events_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/3828/events","html_url":"https://github.com/zfsonlinux/zfs/pull/3828","id":108109777,"number":3828,"title":"Linux 4.3 compat: bio_end_io_t / BIO_UPTODATE","user":{"login":"l1k","id":2601727,"avatar_url":"https://avatars.githubusercontent.com/u/2601727?v=3","gravatar_id":"","url":"https://api.github.com/users/l1k","html_url":"https://github.com/l1k","followers_url":"https://api.github.com/users/l1k/followers","following_url":"https://api.github.com/users/l1k/following{/other_user}","gists_url":"https://api.github.com/users/l1k/gists{/gist_id}","starred_url":"https://api.github.com/users/l1k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/l1k/subscriptions","organizations_url":"https://api.github.com/users/l1k/orgs","repos_url":"https://api.github.com/users/l1k/repos","events_url":"https://api.github.com/users/l1k/events{/privacy}","received_events_url":"https://api.github.com/users/l1k/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zfsonlinux/zfs/labels/Build%20Issue","name":"Build Issue","color":"e102d8"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/zfsonlinux/zfs/milestones/32","html_url":"https://github.com/zfsonlinux/zfs/milestones/0.6.5.2","labels_url":"https://api.github.com/repos/zfsonlinux/zfs/milestones/32/labels","id":1320849,"number":32,"title":"0.6.5.2","description":"ZFS on Linux v0.6.5.2 - Point release, includes critical bug fixes and support for new kernels.","creator":{"login":"behlendorf","id":148917,"avatar_url":"https://avatars.githubusercontent.com/u/148917?v=3","gravatar_id":"","url":"https://api.github.com/users/behlendorf","html_url":"https://github.com/behlendorf","followers_url":"https://api.github.com/users/behlendorf/followers","following_url":"https://api.github.com/users/behlendorf/following{/other_user}","gists_url":"https://api.github.com/users/behlendorf/gists{/gist_id}","starred_url":"https://api.github.com/users/behlendorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/behlendorf/subscriptions","organizations_url":"https://api.github.com/users/behlendorf/orgs","repos_url":"https://api.github.com/users/behlendorf/repos","events_url":"https://api.github.com/users/behlendorf/events{/privacy}","received_events_url":"https://api.github.com/users/behlendorf/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":14,"state":"open","created_at":"2015-09-23T17:58:28Z","updated_at":"2015-09-26T00:14:39Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2015-09-24T11:09:44Z","updated_at":"2015-09-26T16:40:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zfsonlinux/zfs/pulls/3828","html_url":"https://github.com/zfsonlinux/zfs/pull/3828","diff_url":"https://github.com/zfsonlinux/zfs/pull/3828.diff","patch_url":"https://github.com/zfsonlinux/zfs/pull/3828.patch"},"body":"This seems to be the only compat issue with 4.3 so far, I have it running fine now with 4.3-rc2. Let's see what the build bot says.\r\n\r\nI refactored the code in `vdev_disk_physio_completion()` a bit in an attempt to retain readability. If you want anything changed do not hesitate to post a comment. Thanks.\r\n\r\nOne thing that struck me as odd is that `dio_request_t->dr_error` (and consequently `zio->io_error`) stores a *positive* errno. Is this a Solaris convention?\r\n\r\nFixes #3799"},"comment":{"url":"https://api.github.com/repos/zfsonlinux/zfs/issues/comments/143468948","html_url":"https://github.com/zfsonlinux/zfs/pull/3828#issuecomment-143468948","issue_url":"https://api.github.com/repos/zfsonlinux/zfs/issues/3828","id":143468948,"user":{"login":"ryao","id":1386373,"avatar_url":"https://avatars.githubusercontent.com/u/1386373?v=3","gravatar_id":"","url":"https://api.github.com/users/ryao","html_url":"https://github.com/ryao","followers_url":"https://api.github.com/users/ryao/followers","following_url":"https://api.github.com/users/ryao/following{/other_user}","gists_url":"https://api.github.com/users/ryao/gists{/gist_id}","starred_url":"https://api.github.com/users/ryao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryao/subscriptions","organizations_url":"https://api.github.com/users/ryao/orgs","repos_url":"https://api.github.com/users/ryao/repos","events_url":"https://api.github.com/users/ryao/events{/privacy}","received_events_url":"https://api.github.com/users/ryao/received_events","type":"User","site_admin":false},"created_at":"2015-09-26T16:40:08Z","updated_at":"2015-09-26T16:40:08Z","body":"If anyone wants ZoL to reintroduce support pre-2.6.32 kernels and can produce patches that make it work in a maintainable manner, feel free to open a pull request.\r\n\r\nThe reason pre-2.6.32 support was dropped was because no one used it and maintaining support was becoming too arduous. The cleanup from removing support was a reduction of something like 3 to 4 thousand lines of code across both zfsonlinux/spl and zfsonlinux/spl. No one seemed to use those kernels such that the downsides of dropping support were virtually zero and in comparison to refactoring.\r\n\r\nzfsonlinux/spl@ec18fe3ce8f27cfd86743f091d2d57e78dd8a5af showed that there can be ways to refactor code that reduce complexity while maintaining support for both old and new kernels. Barring kernel API limitations in older kernels that I do not recall, I would not consider reintroducing support for pre-2.6.32 kernels to be infeasible if one were willing to spend time on it. If someone were to do this, he likely should do it by picking a modern interface and reimplementing it for the places where it is not available so that the code is remains maintainable."}}