ouch
For once at least I feel like these changes aren't just the Linux devs breaking ZFS for funsies.
I don't think it'd be that problematic to backport, from what I saw, just nobody's done it.
That implies intermediate versions that have both CDDL-licensed ZFS code and new rust code. That rust code, inside the ZFS code base, can’t be GPL-licensed because of the incompatibility of the two licenses.
As the writer of that code, you can separately license your code as GPL if you want, but not in a product containing any CDDL-licensed code (at least in the reading of the FSF. See https://en.wikipedia.org/wiki/Common_Development_and_Distrib...)
So, you could argue that you can license the full product as GPL once all CDDL licensed code has been replaced, and then continue working on that version.
IMO, it is at the least unclear whether that’s legally true.
(All personal opinion, not legal advice, etc)
The closest legal example of a "file-by-file rewrite" would be BSD; but the lawsuit they got from UNIX System Laboratories was settled, so it creates no precedent.
The reason why the reverse engineering crowd talks a lot about clean-room is because you naturally discover the interface boundaries as part of the development process. Legally speaking, you don't need two separate and isolated groups of people, but starting from a document of how the system 'should' work and then adding in implementation details that you actually need is a good way to avoid accidentally copying things you don't need to.