From owner-freebsd-current@freebsd.org Thu Dec 20 11:04:20 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 63E3B1340F3C; Thu, 20 Dec 2018 11:04:20 +0000 (UTC) (envelope-from rb@gid.co.uk) Received: from mx0.gid.co.uk (mx0.gid.co.uk [194.32.164.250]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9BD3172E3E; Thu, 20 Dec 2018 11:04:09 +0000 (UTC) (envelope-from rb@gid.co.uk) Received: from [194.32.164.27] ([194.32.164.27]) by mx0.gid.co.uk (8.14.2/8.14.2) with ESMTP id wBKB40so076885; Thu, 20 Dec 2018 11:04:00 GMT (envelope-from rb@gid.co.uk) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: The future of ZFS in FreeBSD From: Bob Bishop In-Reply-To: Date: Thu, 20 Dec 2018 11:03:59 +0000 Cc: Steven Hartland , freebsd-current , freebsd-fs Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Matthew Macy X-Mailer: Apple Mail (2.3273) X-Rspamd-Queue-Id: 9BD3172E3E X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of rb@gid.co.uk designates 194.32.164.250 as permitted sender) smtp.mailfrom=rb@gid.co.uk X-Spamd-Result: default: False [0.17 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.35)[-0.354,0]; MX_INVALID(0.50)[greylisted]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+mx]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[gid.co.uk]; NEURAL_SPAM_SHORT(0.28)[0.282,0]; NEURAL_HAM_LONG(-0.12)[-0.121,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[250.164.32.194.list.dnswl.org : 127.0.10.0]; IP_SCORE(-0.34)[asn: 42831(-1.58), country: GB(-0.10)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:42831, ipnet:194.32.164.0/24, country:GB]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Dec 2018 11:04:20 -0000 Hi, > On 19 Dec 2018, at 23:16, Matthew Macy wrote: >=20 > On Wed, Dec 19, 2018 at 15:11 Steven Hartland = > wrote: >=20 >> Sorry been off for a few weeks so must have missed that, please do = prod me >> on again if you don=E2=80=99t see any response to anything not just = this. Like many >> others I get so may emails across so many lists it=E2=80=99s more = than likely I >> just missed it. >>=20 >> That said would you say that with the right support we can make = progress >> on the this prior to the port? I have to ask as the alternative = version has >> been on the cusp for many years now so it=E2=80=99s feels more like a = distant >> memory than something that may happen, no disrespect to anyone = involved, as >> I know all too well how hard it can be to get something like this = over the >> line, especially when people have competing priorities. >>=20 >=20 > I am hoping that it's sufficiently important to FreeBSD ZFS developers = that > they'll give the PR the attention it needs so that it can be merged = before > summer. My understanding is that it's mostly suffered from neglect. = TRIM is > most important to FreeBSD and it already had its own implementation. >=20 > https://github.com/zfsonlinux/zfs/pull/5925 Please correct me if I=E2=80=99m wrong but this looks a lot less mature = than FreeBSD=E2=80=99s existing TRIM support for ZFS which we=E2=80=99ve = had in production for six years. What is the rationale here? I=E2=80=99m concerned that it looks like an = opportunity for mighty regressions. > I forwarded you the private communication again as well. >=20 > -M >=20 >=20 >>=20 >> On Wed, 19 Dec 2018 at 22:52, Matthew Macy wrote: >>=20 >>>=20 >>>=20 >>> On Wed, Dec 19, 2018 at 14:47 Steven Hartland = >>> wrote: >>>=20 >>>> Thanks for the write up most appreciated. One of the more meaty >>>> differences is that FreeBSD ZFS still has the only merged and = production >>>> ready TRIM support so my question would be are their any plans to = address >>>> this before creating the new port as going back to a world without = TRIM >>>> support wouldn=E2=80=99t be something I=E2=80=99d look forward to. >>>>=20 >>>=20 >>> Well, then please follow up on the request I CC'd you on a week ago >>> asking that you engage on the deadlist based TRIM PR. That's a = better >>> forum for discussing these details than lamenting in public lists. >>>=20 >>> Thanks. >>>=20 >>> -M >>>=20 >>>=20 >>>=20 >>>=20 >>>> On Wed, 19 Dec 2018 at 06:51, Matthew Macy = wrote: >>>>=20 >>>>> The sources for FreeBSD's ZFS support are currently taken directly >>>>> from Illumos with local ifdefs to support the peculiarities of = FreeBSD >>>>> where the Solaris Portability Layer (SPL) shims fall short. = FreeBSD >>>>> has regularly pulled changes from Illumos and tried to push back = any >>>>> bug fixes and new features done in the context of FreeBSD. In the = past >>>>> few years the vast majority of new development in ZFS has taken = place >>>>> in DelphixOS and zfsonlinux (ZoL). Earlier this year Delphix = announced >>>>> that they will be moving to ZoL >>>>> https://www.delphix.com/blog/kickoff-future-eko-2018 This shift = means >>>>> that there will be little to no net new development of Illumos. = While >>>>> working through the git history of ZoL I have also discovered that >>>>> many races and locking bugs have been fixed in ZoL and never made = it >>>>> back to Illumos and thus FreeBSD. This state of affairs has led to = a >>>>> general agreement among the stakeholders that I have spoken to = that it >>>>> makes sense to rebase FreeBSD's ZFS on ZoL. Brian Behlendorf >>>>> has graciously encouraged me to add FreeBSD support directly to = ZoL >>>>> https://github.com/zfsonfreebsd/ZoF so that we might all have a = single >>>>> shared code base. >>>>>=20 >>>>> A port for ZoF can be found at = https://github.com/miwi-fbsd/zof-port >>>>> Before it can be committed some additional functionality needs to = be >>>>> added to the FreeBSD opencrypto framework. These can be found at >>>>> https://reviews.freebsd.org/D18520 >>>>>=20 >>>>> This port will provide FreeBSD users with multi modifier = protection, >>>>> project quotas, encrypted datasets, allocation classes, vectorized >>>>> raidz, vectorized checksums, and various command line = improvements. >>>>>=20 >>>>> Before ZoF can be merged back in to ZoL several steps need to be = taken: >>>>> - Integrate FreeBSD support into ZoL CI >>>>> - Have most of the ZFS test suite passing >>>>> - Complete additional QA testing at iX >>>>>=20 >>>>> We at iX Systems need to port ZoL's EC2 CI scripts to work with >>>>> FreeBSD and make sure that most of the ZFS Test Suite (ZTS) = passes. >>>>> Being integrated in to their CI will mean that, among other = things, >>>>> most integration issues will be caught before a PR is merged = upstream >>>>> rather than many months later when it is MFVed into FreeBSD. I=E2=80= =99m >>>>> hoping to submit the PR to ZoL some time in January. >>>>>=20 >>>>> This port will make it easy for end users on a range of releases = to >>>>> run the latest version of ZFS. Nonetheless, transitioning away = from an >>>>> Illumos based ZFS is not likely to be entirely seamless. The >>>>> stakeholders I=E2=80=99ve spoken to all agree that this is the = best path >>>>> forward but some degree of effort needs to be made to accommodate >>>>> downstream consumers. The current plan is to import ZoF and unhook = the >>>>> older Illumos based sources from the build on April 15th or two = months >>>>> after iX systems QA deems ZoF stable - which ever comes later. The >>>>> Illumos based sources will be removed some time later - but well >>>>> before 13. This will give users a 3 month period during which both = the >>>>> port and legacy Illumos based ZFS will be available to users. = Pools >>>>> should interoperate between ZoF and legacy provided the user does = not >>>>> enable any features available only in ZoF. We will try to = accommodate >>>>> any downstream consumers in the event that they need that date = pushed >>>>> back. We ask that any downstream consumers who are particularly >>>>> sensitive to changes start testing the port when it is formally >>>>> announced and report back any issues they have. I will do my best = to >>>>> ensure that this message is communicated to all those who it may >>>>> concern. However, I can=E2=80=99t ensure that everyone reads these = lists. That >>>>> is the responsibility of -CURRENT users. >>>>>=20 >>>>> -M >>>>>=20 >>>> _______________________________________________ >>>>> freebsd-fs@freebsd.org mailing list >>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs >>>>> To unsubscribe, send any mail to = "freebsd-fs-unsubscribe@freebsd.org" >>>>>=20 >>>>=20 > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to = "freebsd-current-unsubscribe@freebsd.org" -- Bob Bishop rb@gid.co.uk