Announcement

Collapse
No announcement yet.

OpenZFS 2.2.1 Released Due To A Block Cloning Bug Causing Data Corruption

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    EDIT:
    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.
    Last edited by muncrief; 25 November 2023, 07:36 PM.

    Comment


    • #42
      Originally posted by muncrief View Post
      … patch …
      Issue 15526 may be simplest to mitigate without a patch.

      Via https://old.reddit.com/r/DataHoarder...mpr/-/kahvhzj/ (2023-11-23):

      OpenZFS Issue 15526 Mitigation | MemeticHenry

      Drive-by readers of page two here, please note: 15526 is distinct, not to be confused with block cloning, although there is (naturally) discussion of 15526 in the context of other issues.

      Please be prepared for discussion of 15526, in particular, to shift to a separate area of Phoronix, when a related article appears. Thank you.

      In the meantime, for users of FreeBSD:

      FreeBSD sysctl vfs.zfs.dmu_offset_next_sync and openzfs/zfs issue #15526
      • includes a link to FreeBSD bug report 275308.
      Last edited by grahamperrin; 26 November 2023, 10:23 AM. Reason: Correction to the short URL for the comment in Reddit.

      Comment


      • #43
        Originally posted by grahamperrin View Post

        Issue 15526 may be simplest to mitigate without a patch.

        Via https://old.reddit.com/r/DataHoarder...mpr/-/kahvhzj/ (2023-11-23):

        OpenZFS Issue 15526 Mitigation | MemeticHenry

        Drive-by readers of page two here, please note: 15526 is distinct, not to be confused with block cloning, although there is (naturally) discussion of 15526 in the context of other issues.

        Please be prepared for discussion of 15526, in particular, to shift to a separate area of Phoronix, when a related article appears. Thank you.

        In the meantime, for users of FreeBSD:

        FreeBSD sysctl vfs.zfs.dmu_offset_next_sync and openzfs/zfs issue #15526
        • includes a link to FreeBSD bug report 275308.
        According to the discussion at https://github.com/openzfs/zfs/pull/15571/files the patch suggested by robn fixes the issue under all circumstances, as numerous people have tested it and are no longer able to reproduce the hole error.

        As stated in my previous post, I'm completely lost as far as being able to use github the way I did git, however I was able to download the master branch with AUR zfs-dkms-git, and then manually copy and paste the new "dnode_is_dirty" function into "dnode.c". I then compiled and installed the resulting zfs-dkms-git, along with the required zfs-utils-git, successfully.

        As of last night around 8 PM the patched zfs-dkms has been running on my 11 TB Manjaro media server and 1.5 TB Arch desktop workstation without error. I understand that running such code without more thorough testing is dangerous, but I decided that running it with the original known error is even more so.

        I wish I could offer a more professional way of implementing the proposed solution, but I'm so frustrated with github and its new forced and uber complicated Microsoft operations that I just don't care anymore.

        So if someone could take what I've done and offer the correct way of applying the patch with github it might be more helpful to others. And it would also teach me how in the heck to use github, because, again as I said before, I was simply unable to figure it out.
        Last edited by muncrief; 26 November 2023, 01:52 PM.

        Comment

        Working...
        X