and pre-requisites, taken from https://github.com/zfsonlinux/zfs/pull/7792
See spl!5 (closed) for the SPL MR