最近将我的 FreeBSD 安装从 9-stable 分支升级到 FreeBSD 9.1-stable。我有两个 SATA 硬盘驱动器(/dev/ada0、/dev/ada1),它们位于 geom 镜像中,中间没有任何内容 : [/dev/ada0, /dev/ada1] --> /dev/mirror/gm0
,然后我为 root 等进行了分区。
从 9.0-stable 升级到 9.1-stable 后,我在控制台上发现了这些消息:
GEOM_MIRROR: cancelling unmapped because of ada0
GEOM_MIRROR: cancelling unmapped because of ada1
GEOM_MIRROR: Device mirror/gm0 launched (2/2).
一切似乎仍正常运转,镜子看起来很健康,机器运转良好,性能良好。
答案1
根据FreeBSD 10 的新功能,'未映射的 vmio' 缓冲区即将出现在 FreeBSD 中,作为一种性能优势,而且似乎 9-stable 中的 geom 代码已经获得了对它的一些支持。
根据提交r252010,geom 镜像提供程序正在尝试使用未映射的 vmio,但不能,因为我的 SATA 磁盘的 ada 提供程序尚未提供对它的支持:
/* A provider underneath us doesn't support unmapped */
if ((dp->flags & G_PF_ACCEPT_UNMAPPED) == 0) {
G_MIRROR_DEBUG(0, "cancelling unmapped "
"because of %s\n", dp->name);
pp->flags &= ~G_PF_ACCEPT_UNMAPPED;
}
因此,似乎可以安全地忽略此错误,并且一旦通用未映射的 vmio 缓冲区支持集成到 FreeBSD 中,该错误可能就会消失