Remember when #Linux removed a function and people were all "omg, #OpenZFS is dooomed" and I shrugged and said no, this is normal? (read my timeline if you don't, not that it's that interesting).
Anyway, most kernel changes are like that. Not all. This one is way more tricky. The tl;dr is that a header that we don't use directly but gets included from a bunch of others can emit a reference to a symbol we can't access, breaking the build for no good reason - we didn't even want it!
Still work-around-able, but pretty tricky.