Subject: __NetBSD_Version__ and stable branches
To: None <tech-kern@netbsd.org>
From: Pavel Cahyna <pavel@NetBSD.org>
List: tech-kern
Date: 11/11/2006 13:06:31
Hello,

I've upgraded my kernel from 3.0_RC5 to 3.1_RC1 and modules now refuse 
to load:
LKM 'nnpfs_mod': kernel version mismatch - LKM 300000000, kernel 301000000
LKM 'ext2fs': kernel version mismatch - LKM 300000000, kernel 301000000

Apparently it was caused by bumping __NetBSD_Version__ , not because the
kernel API or ABI changed on the stable branch, but just because the
version is now 3.1. It is IMHO unfortunate to break LKMs on the stable branch
just for this reason. The problem is that we use "version" to express
two different things: 1/ the kernel ABI (this works in -current, where
version numbers are N.99.x and x is incremented with ABI changes) and 2/
naming of the releases.

I propose to decouple those two and make __NetBSD_Version__ only an
indicator of the kernel ABI, completely independent of the version
reported by "uname -r".

Pavel