Originally posted by grahamperrin
View Post
As expected this didn't work. It compiled, but when I tried to install the dkms module I received an "implicit declaration of function ‘dmu_buf_add_user_size’; did you mean ‘dmu_buf_set_user_ie’?" error. Which of course means something else has changed and I guess I would have to try and figure out how to check out the entire github tree and compile it. But since I can't even figure out how to checkout a patch I'm not going to attempt it. I wish everything would just work like git used to, because github is beyond old timers like me. I have no idea what Microsoft has done, but they sure want you to install a lot of MS stuff, and appear to be discouraging working in your own local directory. So while I'm sure it's pilot error on my part, I see no reason for changing everything and making it so complex.
ORGINAL POST:
Thanks for this information grahamperrin. After reviewing the link I found another link within it to a patch that hopefully fixes the issue, but wow, after almost an hour I was unable to simply check out the patch. The patch itself is shown at https://github.com/openzfs/zfs/pull/...2bc10e9f91cf5# but like I said for the life of me I couldn't copy it or check it out. I've checked out uncounted patches from git before, but it seems that github has some uber complex way of getting it.
I scoured the internet and installed the github cli, obtained an authorization token, created some kind of workspace on github that urged me to install some kind of Microsoft stuff, etc., but no matter what I did I simply couldn't check out the patch.
However I finally just found the dnode.c file which seemed to be patched and copied it, did a makepkg -o in my zfs-dkms directory, overwrote the existing dnode.c file with the new patched one, and then compiled the package with makepkg -e. Everything seems to have worked and I have a new zfs-dkms package, but I'm reluctant to install it because I'm really not sure what I'm doing.
Does anyone know if what I've done is correct? I just can't believe how complicated it is to do something as simple as checkout a patch from github, and assume I must be doing something wrong. I'm using Arch by the way.
Comment