Re: git: b9c92d631cfb - main - Annotate geom_md with MODULE_VERSION

From: Kyle Evans <kevans_at_freebsd.org>
Date: Thu, 10 Feb 2022 06:46:09 UTC
On Thu, Feb 10, 2022 at 12:16 AM Kyle Evans <kevans@freebsd.org> wrote:
>
> The branch main has been updated by kevans:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=b9c92d631cfb06c12b0d2d9ad29a9f3f0b856237
>
> commit b9c92d631cfb06c12b0d2d9ad29a9f3f0b856237
> Author:     Kyle Evans <kevans@FreeBSD.org>
> AuthorDate: 2022-02-10 06:15:29 +0000
> Commit:     Kyle Evans <kevans@FreeBSD.org>
> CommitDate: 2022-02-10 06:16:19 +0000
>
>     Annotate geom_md with MODULE_VERSION
>
>     This was missed in 74d6c131cbe2 where other geom modules were annotated
>     with MODULE_VERSION.  Again, the problem is the same: we can't detect
>     that geom_md is loaded into the kernel without it.
>
>     This was noticed in release builds on the cluster; mdconfig attempts to
>     load geom_md because it can't detect it in the kernel, but the cluster
>     config includes md(4) and does not build the kmod.  This problem would
>     have been masked on hosts with the kmod built, as the kmod attempts to
>     register the g_md module and fails.  With this commit, mdconfig would
>     not even try to load it again.
>

This last sentence is wrong, of course. kldstat(2) doesn't pick up on
the geom_md interface already being present, so we do still try to
kldload(2) it.  kldload(2) will notice the kld name conflict and kick
back EEXIST like we want it to.

Thanks,

Kyle Evans