14 ms·
The Future of ZFS in FreeBSD
- vermaden 8y agoTL;DR FreeBSD will rebase its ZFS code from Illumos to ZFS on Linux (ZoL).
- carlavilla 8y agoIf the ZFS FreeBSD code are going to be taken from ZoL, what's the difference of use ZFS on FreeBSD and GNU/Linux?
- simcop2387 8y agoFor ZFS itself, probably not much. It'd be the rest of the system you'd be selecting things for.
- h1d 8y agoIsn't FreeBSD suddenly getting a version of zfs with features and bits of code that is developed against Linux? Sounds like edge cases for performance and stability could show up?
- icebraining 8y agoThey were already getting a version of zfs developed against another OS (illumos).
- h1d 8y agoThey know the edge cases and gotchas on that version by now but until they test the ZoL version on wide variety of FreeBSD deployments, it could mean they're back to labelling it a beta version at this point.
- chasil 8y agoFreeBSD can bundle it in the installer, and put the root filesystem in a ZFS dataset. Because of GPL incompatibility with the CDDL, Linux cannot do this. A compliant installer must put root on something else, usually ext4 or xfs. A Linux installer iso putting root in a zfs dataset opens a terrible legal door.
- Teknoman117 8y agoUh, no? If said installer downloaded and compiled the code (nvidia-drivers style), you'd not have an issue. Only once the code is combined does it "violate" the license. You can't distribute something in violation of GPL2, but you can keep it for yourself. As long as the installer doesn't distribute offending binaries, you're fine.
- rleigh 8y agoOf course Linux can do this. I'm writing this very reply on a Linux system booted directly off a ZFS dataset. % zfs list rpool/ROOT/default NAME USED AVAIL REFER MOUNTPOINT rpool/ROOT/default 14.8G 60.1G 11.9G / Support for this exists in GRUB and initramfs-tools, and it works perfectly. The GPL is not an EULA. It's a distribution licence. There is absolutely no problem in using ZFS on your system, and there's no legal restriction on what an installer may or may not do.
- e12e 8y agoHopefully very little! With work on a windows port, os x support, and emerging encryption support - we might finally have a modern, nice, solid cross platform read-write-safe fs beyond fat32! Encryption support should be on 0.8 (next) release: https://github.com/zfsonlinux/zfs/milestone/12 https://github.com/zfsonlinux/zfs/milestone/12
- dpg23 8y agoI'll admit, I feel somewhat smug over this after being talked down to by BSD guys. Regardless, I'm glad we can all enjoy a shared codebase for an amazing filesystem.
- rbanffy 8y ago> many races and locking bugs have been fixed in ZoL and never made it back to Illumos and thus FreeBSD Why would that be? Lack of interest on sending them upstream or them being sent but never merged back?
- rincebrain 8y agoI would guess it's because people don't always try to figure out whether bugs they find that appear to be in Linux-specific code can be reproduced in other codebases, rather than explicit lack of interest or PRs going nowhere slowly.
- rbanffy 8y agoIs there enough interest in ZFS that an organization could be set up to keep a single core ZFS and coordinate its ports into different OSs in a way all ports benefit from updates and the frontier between core and OS can be clearer?
- rincebrain 8y agoThey're already having regular meetings among participants from each of the respective child projects to try and coordinate things like this and ensure that problems are not arising from people not doing the followup on pushing code upstream/pulling code from upstream to ensure platforms aren't missing major features/bugfixes for years. [1] is the monthly meeting notes, and while I haven't had a need to visit one and confirm, they certainly appear to be open to interested parties, not just an invite-only group. (I recently proposed something controversial [2] in an attempt to try and get predictable consistent behavior on a certain thing across all platforms, which is when I learned about this from someone telling me they discussed it there.) ZoL also maintains their own list of upstream (e.g. openzfs) commits and what their status is of landing in ZoL. [3] [1] - https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnWHhV-BM https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HB... [2] - https://openzfs.topicbox.com/groups/developer/T04955dd2e8aa4e5d https://openzfs.topicbox.com/groups/developer/T04955dd2e8aa4... [3] - http://build.zfsonlinux.org/openzfs-tracking.html http://build.zfsonlinux.org/openzfs-tracking.html
- tivert 8y ago> 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 https://www.delphix.com/blog/kickoff-future-eko-2018 This shift means that there will be little to no net new development of Illumos. So, basically, Delphix was a (the only?) commercial user of Illumos and now they're abandoning it for Linux, which means Illumos will starve for manpower going forward? It also sounds like FreeBSD also lacks the resources to maintain an implementation of something like ZFS, which is ironic since not too long ago it seemed like one of the marquee features they had that Linux didn't.
- tracker1 8y agoiX is the corporate sponsor of FreeNAS, so it makes sense that they would have a stake in this, and are taking the lead on it. Hopefully this transition goes smoothly. I've been holding off on a new NAS for some of the migrations for FreeNAS to take effect. On the flip side, I'm glad I saw this when I did. I really don't want to have to know all about ZFS tooling, and hoping that they get the UI/UX in place for a clean NAS experience, and may just buy a prebuilt from iX later next year.
- fosco 8y agoI will complete my first freenas build that I've waited years to build this weekend. in either case, I've been waiting so long that seeing this does not change my desire and opportunity does not always come when we want it to. guess I have some additionally learning to do :-)
- bubblethink 8y ago>which is ironic since not too long ago it seemed like one of the marquee features they had that Linux didn't That can still be somewhat true due to the licensing mess. ZoL will never be in the tree for linux. The best you can hope for is the Canonical solution which at least ensures a supported version for the distro kernel.
- 8y ago
- kim0 8y agoHope this puts to rest the claim that zfs on bsd is better maintained and integrated than zol!
- chasil 8y agoThere is no cause for shame for a brilliant effort that goes the way of all things. There is no cause for pride in newly-acquired skills that rest on the backs of giants.
- cat199 8y ago> and integrated Considering one of thse comes default the base system and the installer can install to it, has jail(8) integration, etc etc and one of them is an addon which will never be merged to the main kernel (which is only a kernel), and because of this, will likely never be directly supported by the main linux distribution vendors, I'd say the jury is still out on this piece.. lack of base system integration for linuces also leaves the 'maintained' somewhat up in the air too.. if I'm running $linux_flavor and Zfs crashes, and the ZoL devs blame this particular distros particular configuration/build options, toolchain, etc where do I go for a fix? migrate to another linux with totally different package mgmt, etc? but yes, it looks like the zfs core code itself is more actively updated for that portion directly.
- na85 8y ago>if I'm running $linux_flavor and Zfs crashes, and the ZoL devs blame this particular distros particular configuration/build options, toolchain, etc where do I go for a fix? To the distro of course. How is this even a point of contention?
- e12e 8y ago> will likely never be directly supported by the main linux distribution vendors Zfs is front and center for lxd on Ubuntu - and about as "supported" as can be? I just can't wait for crypto support to really land in open zfs - would make it even easier to use for external drives (now encryption needs separate support, geli on bsd, dm-crypt/luks on Linux). And using zfs as a volume manager would make things in general easier and less complicated.
- davemtl 8y agoIt's my understanding that code will not be committed into OpenZFS if it cannot be compiled in both Linux and FreeBSD.
- adtac 8y agoIs there a resource that explains the historical intricacies and licensing issues surrounding ZFS from the beginning? From what I've seen, it's a clusterfuck whichever *nix OS you like.
- chasil 8y agoAs I understand it, including ZFS requires all linked code to be bound by the CDDL, which the GPL cannot do. https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/ https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/ "[§]3.1 … Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. … "[§] 3.4 … You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License."
- p_l 8y agoIt's the opposite way - GPL automatically covers the final product, and does not allow for licenses that have stronger terms than itself. CDDL is per-file license, does not automatically extend itself to the whole product. But it also has wording about patents et al, which puts it beyond direct inclusion in kernel just like MPL. Out of tree with one degree of separation (Solaris Porting Layer) is based on the precedent of AFS implementation for linux, where the argument was that the code is not derivative of Linux kernel code, as in no way was VFS unique to linux or any other crucial part involved.
- cyphar 8y ago> CDDL is per-file license, does not automatically extend itself to the whole product. But it also has wording about patents et al, which puts it beyond direct inclusion in kernel just like MPL. Well, MPLv1 was incompatible with the GPL. MPLv2 has an explicit clause to make it compatible (namely to allow relicensing within limits). I would imagine the lack of "relicensing within limits" would be the key problem with CDDL and GPL -- since CDDL was based on MPLv1. > Out of tree with one degree of separation (Solaris Porting Layer) is based on the precedent of AFS implementation for linux, where the argument was that the code is not derivative of Linux kernel code, as in no way was VFS unique to linux or any other crucial part involved. Right, especially since the ZFS source code was developed completely separately to Linux and the SPL is licensed GPL+CDDL. This is the same thing that NVIDIA does with their drivers (they even build their driver binaries on FreeBSD to show that it "couldn't possibly" be a derived work of Linux and have a GPL shim).
- voltagex_ 8y agoOT, sort of: I am banned (permanently? [2]) from the #zfsonlinux IRC channel because I connected to it via IRCCloud [1]. It's this kind of attitude that worries me about using it. 1: http://irccloud.com http://irccloud.com 2: https://irc-source.com/channel/freenode/%23zfsonlinux-quarantine https://irc-source.com/channel/freenode/%23zfsonlinux-quaran...
- gsich 8y agoThey probably don't want another service storing and analysing your messages. The free version is basically useless: "Stay connected for 2 hours while inactive (permanent for first 7 days)" because of this.
- voltagex_ 8y agoSure, but I can't even reconnect with another client with my normal Freenode account now.
- mst 8y agoHit up #freenode and see if one of the staff can mediate wih the channel ops for you - "I was banned by account because irccloud but am happy to use another client" seems like a reasonable request to me (I'm freenode staff but currently mostly on hiatus due to lack of tuits)
- geofft 8y agoNot an unreasonable policy in the abstract but open channels for free software projects should be publicly and permanently logged, same as mailing lists. Private channels, sure. Other than that, the project should have public logs, at which point it doesn't matter if a for-profit company wants to see those logs because literally anyone can—or could have just joined in the first place. (Debian also has a policy that you may not publicly log its IRC channels, and I also think it's wrong.)
- p_l 8y agoIt was a flood prevention system which was triggered by IRCcloud network going broken for a long period of time. It's also used by several other open source channels.
- ggm 8y agoAs a long-time BSD user (since 1982) this both saddens and heartens me. It saddens me, that the core development path in BSD was not able to sustain being the "reference" model for a wider community. There is no point pretending you can, when nobody else wants to follow that model. The heartening moment, is that linux and BSD should share code when they can, because its sensiblet to avoid pointless fork. Pointful fork, (and I exclude licence terms mostly) is something we have to deal with. Pointless forking is just a royal pain. An outcome of this should be that I get more guarantee a ZVOL export/import cycle across Linux/BSD (which btw I have now done about 10 times on 10TB ZFS filesystems) will work with no awkward binary consequence to flag/version mismatch which came about because of two codebases: version mismatch because one was "old" and one is "new" is a different thing.
- gh02t 8y ago> It saddens me, that the core development path in BSD was not able to sustain being the "reference" model for a wider community. Could you explain? FreeBSD was not the reference implementation of ZFS, illumos was. ZoL is still tied up in the OpenZFS project (as are illumos and FreeBSD), this is more a matter of rebasing onto the subproject where more development is occurring. As it was, FreeBSD's implementation was already using a Solaris/illumos compatibility shim, and it sounds like switching isn't that much work.
- ggm 8y agoOh, I misunderstood. I thought the input back into Linux ZFS grew out of the (Free)BSD work. If its two independent OS trees both referring upstream to Illumos, its a minor moment. What does the solaris compatibility shim do in the end, which couldn't be done direct in the codebase? I don't like shims, it feels like the linux compatibility ABI moment where something gets added and the shim drifts, and then you can't do eg DRI any more because "they changed how it worked and we didn't catch up" But, thanks for the cluestick hit. If this is just flavour of ice-cream from the same truck, I'm less worried.
- simcop2387 8y ago
- jiveturkey 8y agodoes this mean anything for mac?
- h1d 8y agoApple already has apfs.
- zapzupnz 8y agoAnd? How's this relevant?
- h1d 8y agoI mean, there's unlikely to be any official support of zfs on Mac and the fact Apple developed apfs recently could mean there's less appetite for community to port and support zfs on Mac.
- zapzupnz 8y agoI don't see how. Those who want ZFS probably want to use specific features of it or for specific purposes but don't want to have to stop using macOS to continue working with ZFS volumes.
- Hackbraten 8y agoI agree. For me, APFS still lacks essential features, such as data integrity checks and advanced control over snapshots.
- Stubb 8y agoApple wanted a file system that would run on everything from smart watches to multi-core desktops. Because, you know, those use cases are identical.
- xoa 8y ago
- tiffanyh 8y agoDragonflyBSD Hammer2 filesystem all of a sudden looks way more appealing. Kind of ironic given DragonflyBSD roots in FreeBSD
- unmole 8y ago> DragonflyBSD Hammer2 filesystem all of a sudden looks way more appealing. Why? Existing FreeBSD ZFS users can and in all probability will continue to use it. Why does a less mature FS on a less widely used BSD derivative suddenly look appealing to you?
- b2ccb2 8y agoThere are some interesting comments further in the mail thread from Matthew Ahrens (co-creator of ZFS) and Alan Jude (has recently been working on getting zstandard into ZFS) that give more insight. Matthew Ahrens[1]: …Being "upstream" is more a matter of degree than an absolute ordering. In the past, most ZFS features have originated in illumos, and those changes have been ported to the other platforms (notably FreeBSD and ZoL). Looking forward, we see more features originating in ZoL. The OpenZFS community (including FreeBSD) is working to put in place technical processes to ensure that new ZFS features are available on all platforms. The original post in this thread was a proposal for how to do that. Alan Jude[2]: …The way that things have evolved over the last few years means it would be much more difficult to just import changes from ZoL. ZoL was originally far behind the OpenZFS repo, but as they were catching up, they were also fixing bugs and adding features. So there is not really a common point in the source we could start from to import ZoL commit by commit.… The biggest thing to remember is that this is still OpenZFS, and still run by the same developers as it has been. We are just commonizing on the repo that has the most features integrated into it. [1] https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072431.html https://lists.freebsd.org/pipermail/freebsd-current/2018-Dec... [2] https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072430.html https://lists.freebsd.org/pipermail/freebsd-current/2018-Dec...
- jamieson-becker 8y agoThe most interesting (and tragic) part of this, to me, is not that ZFS is being rebased from Illumos (open source Solaris) to ZFS on Linux: ... it's that Solaris is effectively finished as an OS. It's not even its own upstream anymore for arguably the greatest modern contribution to any OS. This is tragic, and needless. Oracle effectively shot itself in its own foot with the pointless and deliberate choice of licenses, the on-again, off-again open sourcing of Solaris, and the complete lack of commitment. Solaris had a real shot of remaining a fine alternative UNIX operating system, at least for the server side of things, but now this shot is gone. They killed Solaris like they killed Java.
- gruturo 8y agoYou are assuming they ever even cared about Solaris. They bought Java, because they were using it everywhere in their own product offering, and didn't want it under someone else's control (esp. if IBM would have been Sun's buyer rather than them). Anything else which came with the purchase (Solaris, OpenOffice, VirtualBox, MySQL, the hardware business, 30K+ employees) amounted to, in their eyes, literally strings attached, that they had to pretend to care about for a while. Even Java itself is not getting treated too well, but that was never the point - the point is not to lose control, and to monetize what they can.