Page MenuHomeFreeBSD

Enable block cloning by default
ClosedPublic

Authored by mm on Sep 27 2023, 6:50 AM.
Tags
Referenced Files
Unknown Object (File)
Sun, Mar 17, 9:18 AM
Unknown Object (File)
Sun, Mar 17, 9:17 AM
Unknown Object (File)
Sun, Mar 17, 9:17 AM
Unknown Object (File)
Sun, Mar 17, 9:17 AM
Unknown Object (File)
Mar 14 2024, 4:42 PM
Unknown Object (File)
Feb 6 2024, 6:34 PM
Unknown Object (File)
Dec 12 2023, 7:13 AM
Unknown Object (File)
Oct 15 2023, 9:30 AM

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mm requested review of this revision.Sep 27 2023, 6:50 AM
mm added a reviewer: mav.
mm added reviewers: mjg, markj.
mm added a reviewer: pjd.

Have you tried running the test suite on a ZFS system with this change applied?

For this to be an option this review has to provide a list of bugs reported against block cloning and commits which fix them, as is I'm not even sure it was all sorted out.

@mjg Does any specific bug come to your mind?

for example there was panic under load when running poudriere, i don't know if that is fixed

there were numerous bugs reported (more than once at that) in several threads. restoring this functionality requires tallying them all up

In D41991#957622, @mjg wrote:

for example there was panic under load when running poudriere, i don't know if that is fixed

The last one reported by Mark Millard recently was fixed: https://github.com/openzfs/zfs/pull/15251 . After that his builds succeeded. I am not aware about other poudriere block cloning issues.

there were numerous bugs reported (more than once at that) in several threads. restoring this functionality requires tallying them all up

The functionality is disabled for 5 months on FreeBSD, while there was some upstream work on it, including Linux support that should add more test cases. I haven't reviewed the history of 5 month ago, but there is a good chance that it may be not applicable.

sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c
94

The val field in SYSCTL_INT is used only if ptr is SYSCTL_NULL_INT_PTR. You should do zfs_bclone_enabled = 1 instead.

I have run the ZFS test suite

I have run the ZFS test suite with block cloning enabled. There are no tests with different results as when it is not enabled.

In D41991#958356, @mm wrote:

I have run the ZFS test suite with block cloning enabled. There are no tests with different results as when it is not enabled.

Assuming this is in reference to my comment, I meant running the FreeBSD regression test suite on a system with ZFS root filesystem.

I have now successfully run a FreeBSD regression test suite on a ZFS root with block cloning enabled

zlei retitled this revision from Enable block cloning by defaut to Enable block cloning by default.Oct 10 2023, 2:25 AM
zlei added a subscriber: zlei.

I don't have any objection to the change, then.

This revision is now accepted and ready to land.Oct 10 2023, 1:51 PM
This revision was automatically updated to reflect the committed changes.