VN_DISPOSE & extern kvp
894901Oct 17 2011 — edited Oct 18 2011Hi,
I'm not a solaris developer so please forgive me in advance if this is a noob question or if I goof up the nomenclature.
We've got a device driver released which uses: extern struct vnode kvp; in it's "dispose" vnode operation handler. From what I understand, this symbol is no longer exported by the kernel (customer states they applied "update 9") and so now modload fails for obvious reasons.
For versions >= update 9 I will need a dispose handler that does not reference kvp. I'm sure this is doable, but what I'm wondering is: how are other people dealing with the fact that a single version of the OS may or may not have this symbol defined? If I need to have code that supports the case when kvp is there, as well as code that supports when kvp is not there, how is this done?
If the code to support the case where kvp does not exist is backwards compatible, then I suppose this is a moot point, but I doubt that is the case. Any help would be appreciated. Thank you.
~billy