From: "Joshua M. Clulow" <josh@sysmgr.org>
To: illumos-discuss <discuss@lists.illumos.org>
Subject: Re: [discuss] Illumos future and compatibility with Open-ZFS
Date: Sat, 7 Sep 2024 01:30:38 -0700 [thread overview]
Message-ID: <CAEwA5nKOOF=ZwUmnmSsX5V4coqRSygbJbVtat1dgtuXB7s2Tuw@mail.gmail.com> (raw)
In-Reply-To: <2bbc17be-ebb2-4b90-98ef-b804fa57b334@napp-it.org>
On Fri, 6 Sept 2024 at 04:53, gea@napp-it.org <gea@napp-it.org> wrote:
> Open-ZFS is where the music plays with a lot of new features like ZSTD, Draid, Raid-Z Expansion or Fast Dedup and more to come. Lack of them means that you can no longer import a current Open-ZFS pool in Illumos and more important, these are killer features in some cases and therefor a criteria to use or not to use Illumos.
There is certainly much interesting work occurring in the OpenZFS
project! There is in fact _so much_ work going on that it's frankly
difficult to be fully across all of it, and to ensure all of it has
received adequate review and testing. At some point there is also the
fact that every change introduces risk, even if it is not obvious what
that risk would be. We try to balance many different competing
concerns when we're importing code from the OpenZFS project, or any
other source base that we share with; e.g., FreeBSD. Amongst those
concerns is that the OpenZFS development model centres around an
unstable master branch, with a stabilisation process to get to
periodic release branches. This is quite different from our own model
here; critically, we want every commit that goes into our master
branch to be something you could ship to a customer. If we make a
change to the ZFS pool format in a master branch, it's there to stay
forever. In practice, no regressions on master is always something of
a stretch goal, but it's one we aspire to!
Importing code from OpenZFS without introducing regressions is a large
and time-consuming undertaking. One must be absolutely sure to
understand not just the patch one wants to import, but all of the
many, many patches that fly in around that patch and touch other parts
of the code. The impact of importing a patch without importing prior
commits that patch depends on, or without importing _subsequent_ fixes
that have been made after the patch landed, can be the difference
between uneventful success, or rampant and immediate data corruption
on user's machines.
It's the file system -- we must be cautious!
> 1. Open-ZFS Master (BSD, Linux), currently 2.2.6
> no longer a common roof for "Open" ZFS development but the place where development happens
To be clear, it's the place where development _on the OpenZFS project_
happens. While our rate of change is demonstrably less frenzied, part
of that is because at a project level we generally place a higher
value on stability (in every sense of the word) over new features;
that's what it means to be dependable infrastructure software!
> I want to ask.
> When I look at the Illumos Issue tracker, I see mainly small fixes, hardly new features does not matter regarding Illumos services or Open-ZFS features. I suppose number of devs is limited.
What sort of features would you like to see? Flicking back through
the last six months of commits, I've attempted to pick just based on
the synopses, things that are (as far as I recall) new feature working
going into the OS:
16705 Want lifetime extensions for TCP_MD5SIG
16708 SMBIOS 3.8 Support
16675 want syncfs(3C)
16654 nvme: expose internal counters via kstats
16655 nvme: introduce kstats for admin commands
16636 want ptsname_r
16635 want SO_PROTOCOL socket option support
14237 Want support for pthread_cond_clockwait() and friends
16624 Want support for FD_CLOFORK and friends
14736 zfs: Improve sorted scan memory accounting
16627 Flesh out AMD Turin chip and Zen 5 uarch revisions.
16076 pwdx should work on core files
16475 loader.efi: replace comconsole with efiserialio
13967 diskinfo(8) should show serial numbers in more cases
14151 truss: truss should recognize VMM ioctl codes
16547 savecore should report progress when saving compressed dump
16524 driver for 38xx HBA in illumos
16491 netcat should support setting the outgoing and minimum TTL
16501 netcat should support setting IPV6_TCLASS for ipv6 sockets
16455 want TCP_MD5SIG socket option
16454 want IP_MINTTL socket option
15977 smbadm option to show group member SIDs
15976 List users connected via SMB
16452 want strerrordesc_np and strerrorname_np
16459 want emlxs to support Oracle branded LP adapters
16408 AMD Zen 5 CPC support
16056 want fmdump ability to AND event property filters
16423 Import fletcher-4 algorithms from OpenZFS
14919 tem: implement xenl
16348 e1000g I219 V17 does not attach
16347 e1000g LM+V24-27,29 support
16327 wdc nvme assertion clearing support
16326 Update NVMe error status codes for 2.x
16325 nvmeadm: want ability to write log page to raw file
16324 Want Micron 7300, 7400, 7450 log support
At the end of the day, we're an open source project with a finite set
of engineering resources just like any other project. When feature
work happens, it's generally because somebody has a problem they need
to solve and they're motivated to do the work. I work at Oxide, and
we have obviously a very strong motivation to keep working on illumos
and to ensure the OS continues to meet our goals for stability,
security, performance, and features. The same is generally true of
all other contributors, whether it's a corporate or an unaffiliated
community member.
The bug tracker is also not the full picture. We also have the
"illumos Project Discussion" (IPD) repository, in which we try to work
through longer term plans that might span many integrations into
master:
https://github.com/illumos/ipd
Anybody is welcome to file and work on bugs, or to write and circulate
IPDs, if they have a project they'd like to spearhead or work they'd
like to do!
> What is the future idea of Illumos?
> I know a switch to Open-ZFS as upstream is not easy and can last and I am not even sure if it is really wanted or possible with current resources. But maybe this is the only option to make Illumos future proof?
I don't think there is currently a plan to abandon maintaining our own
ZFS and switch to importing OpenZFS each time they cut a release
branch. As long as there is an illumos project -- and, after 14
years, I think it's safe to say that we're in it for the long haul! --
we'll be looking after it, and the rest of the code, as a cohesive
whole. We will continue to import things from OpenZFS where we
believe they will not impact the stability of our own software, and
we'll continue to do work on our ZFS that may only be of interest to
us (e.g., we're the only OS with zones, another subsystem that has
integration with ZFS).
As with any truly open source project, you, and indeed anybody else,
are welcome to roll up your sleeves and work on the changes that would
benefit you and your use cases personally! We depend on motivated
individuals scratching their own itches as much as anything else. If
you can demonstrate genuine motivation and engagement, I know that
both the core team and the community at large will do our best to help
with the work you want to do.
Cheers!
--
Joshua M. Clulow
http://blog.sysmgr.org
next prev parent reply other threads:[~2024-09-07 8:30 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-05 20:50 shutdown hang with zpools on ISCSI devices Carsten Grzemba
2024-08-05 21:46 ` [discuss] " Joshua M. Clulow
2024-08-06 5:17 ` Carsten Grzemba
2024-08-06 5:29 ` Carsten Grzemba
2024-08-06 5:46 ` Joshua M. Clulow
2024-08-06 6:36 ` Carsten Grzemba
2024-08-06 6:46 ` Joshua M. Clulow
2024-08-06 14:27 ` Carsten Grzemba
2024-08-06 15:16 ` Carsten Grzemba
2024-08-06 19:04 ` Joshua M. Clulow
2024-09-06 11:53 ` Illumos future and compatibility with Open-ZFS gea
2024-09-07 8:30 ` Joshua M. Clulow [this message]
2024-09-07 11:12 ` [discuss] " Gea
2024-09-07 16:38 ` Joshua M. Clulow
2024-09-07 21:37 ` Gea
2024-09-08 8:50 ` Jorge Schrauwen
2024-09-08 9:55 ` d
2024-09-09 10:41 ` Gea
2024-09-09 11:32 ` Toomas Soome
2024-09-09 9:29 ` Volker A. Brandt
2024-09-09 9:49 ` bronkoo
2024-09-09 11:13 ` Jorgen Lundman
2024-09-09 12:27 ` Gea
2024-09-09 14:47 ` gea
2024-09-09 19:29 ` Joshua M. Clulow
2024-12-11 8:47 ` zt958bjm via illumos-discuss
2024-12-11 8:56 ` zt958bjm via illumos-discuss
2024-12-11 9:01 ` zt958bjm via illumos-discuss
2024-12-11 10:09 ` Jorgen Lundman
2024-12-11 12:17 ` zt958bjm via illumos-discuss
2024-09-07 14:32 ` Miles Nordin
2024-08-05 22:45 ` [discuss] shutdown hang with zpools on ISCSI devices John D Groenveld
2024-08-05 22:55 ` Joshua M. Clulow
2024-08-06 15:56 ` Gordon Ross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAEwA5nKOOF=ZwUmnmSsX5V4coqRSygbJbVtat1dgtuXB7s2Tuw@mail.gmail.com' \
--to=josh@sysmgr.org \
--cc=discuss@lists.illumos.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).